81 lines
2.4 KiB
C#
81 lines
2.4 KiB
C#
using Microsoft.Extensions.Configuration;
|
|
using Microsoft.Extensions.Logging;
|
|
using WinFormDiApp.BL.Models;
|
|
using WinFormDiApp.BLI;
|
|
using WinFormDiApp.DAL;
|
|
|
|
namespace WinFormDiApp.BLR;
|
|
|
|
public class AccountRecordRepository : IAccountRecordRepository
|
|
{
|
|
private readonly ApplicationDbContext _dataContext;
|
|
private readonly IConfiguration _configuration;
|
|
private readonly ILogger<AccountRecordRepository> _logger;
|
|
|
|
public AccountRecordRepository(ApplicationDbContext dataContext, IConfiguration configuration, ILogger<AccountRecordRepository> logger)
|
|
{
|
|
_dataContext = dataContext;
|
|
_configuration = configuration;
|
|
_logger = logger;
|
|
}
|
|
|
|
public bool AddAccountRecord(AccountRecord record)
|
|
{
|
|
try
|
|
{
|
|
_dataContext.AccountRecords.Add(record);
|
|
_dataContext.SaveChanges();
|
|
return true;
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
_logger.LogError("Error occured in AddAccountRecord :-->{iMessage}", e.Message);
|
|
}
|
|
return false;
|
|
|
|
}
|
|
|
|
public bool DeleteAccountRecord(AccountRecord record)
|
|
{
|
|
try
|
|
{
|
|
_dataContext.AccountRecords.Remove(record);
|
|
_dataContext.SaveChanges();
|
|
return true;
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
_logger.LogError("Error occured in DeleteAccountRecord :-->{iMessage}", e.Message);
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public IEnumerable<AccountRecord> GetAllAccBetweenDates(DateTime dateFrom, DateTime dateTo)
|
|
{
|
|
IEnumerable<AccountRecord> result = null;
|
|
using (ApplicationDbContext dc = _dataContext)
|
|
{
|
|
result = (from acc in dc.AccountRecords
|
|
where acc.BetalDatum>dateFrom && acc.BetalDatum <dateTo
|
|
orderby acc.Mottagare, acc.BetalDatum descending
|
|
select new AccountRecord
|
|
{
|
|
Id = acc.Id,
|
|
BetalDatum = acc.BetalDatum,
|
|
Mottagare = acc.Mottagare,
|
|
Avisering = acc.Avisering,
|
|
Belopp = acc.Belopp,
|
|
Konto = acc.Konto,
|
|
Stored = acc.Stored
|
|
}).ToList();
|
|
}
|
|
return result;
|
|
}
|
|
|
|
public IEnumerable<AccountRecord> GetAllAccounts()
|
|
{
|
|
return _dataContext.AccountRecords;
|
|
}
|
|
|
|
}
|