50 lines
1.6 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|