using ReserveManagementSystemLib.Enums; using ReserveManagementSystemLib.Models; using ReserveManagementSystemLib.Persistence; namespace ReserveManagementSystemLib.Repositories { public class ImportRepository: BaseRepository, IImportRepository { public ImportRepository(AppDbContext context) : base(context) { } public IQueryable GetAll() { return _context.Imports; } public async Task FindByIdAsync(int id) { return await _context.Imports.FirstOrDefaultAsync(l => l.ImportId == id); } public async Task AddImportAsync(Import import) { try { var newImport = await _context.Imports.AddAsync(import); await _context.SaveChangesAsync(); return newImport.Entity; } catch (Exception ex) { Log.Error(ex, $"Failure to add import"); return null; } } public async Task UpdateImportAsync(Import import) { var updatedImport = _context.Imports.Update(import); await _context.SaveChangesAsync(); return updatedImport.Entity; } public IQueryable GetLastLoanDnaImportByType(ImportType importType) { var result = _context.Imports.Where(i => i.ImportType == importType.ToString() && i.Success == true && i.FileName == null).OrderByDescending(i => i.StartDate); return result; } } }