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 _logger; public AccountRecordRepository(ApplicationDbContext dataContext, IConfiguration configuration, ILogger 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 GetAllAccBetweenDates(DateTime dateFrom, DateTime dateTo) { IEnumerable 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 GetAllAccounts() { return _dataContext.AccountRecords; } }