Files
monorepo/LCU.WebApps.Indirect.ReserveManagementSystem/Api/ReserveManagementSystemLib/Repositories/ImportRepository.cs
T
2026-03-17 08:54:34 -05:00

50 lines
1.6 KiB
C#

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<Import> GetAll()
{
return _context.Imports;
}
public async Task<Import> FindByIdAsync(int id)
{
return await _context.Imports.FirstOrDefaultAsync(l => l.ImportId == id);
}
public async Task<Import> 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<Import> UpdateImportAsync(Import import)
{
var updatedImport = _context.Imports.Update(import);
await _context.SaveChangesAsync();
return updatedImport.Entity;
}
public IQueryable<Import> 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;
}
}
}