Files
WinFormDiApp/WinFormDi.BLR/AccountRecordRepository.cs

78 lines
2.3 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;
result = (from acc in _dataContext.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;
}
}