Files
monorepo/LCU.API.Operations.IncentiveAPI/LCU.API.Internal.Operations.IncentiveApiLib/Repositories/AccountingRepository.cs
T
2026-03-17 09:53:09 -05:00

37 lines
1.2 KiB
C#

using System;
using System.Linq;
using System.Threading.Tasks;
using LCU.API.Internal.Operations.IncentiveApiLib.Persistence;
using LCU.Library.Internal.IncentiveApiModels.Entities;
using Microsoft.EntityFrameworkCore;
namespace LCU.API.Internal.Operations.IncentiveApiLib.Repositories;
public class AccountingRepository : BaseRepository, IAccountingRepository
{
public AccountingRepository(IApplicationDbContext context) : base(context)
{
}
public async Task<AccountingSummary> SaveAccountingSummaryAsync(AccountingSummary summary)
{
await _context.DepartmentLineItems.AddRangeAsync(summary.DepartmentPayouts);
return summary;
}
public async Task<AccountingSummary> GetAccountingSummaryAsync(DateTime payoutPeriod)
{
var rows = await _context.DepartmentLineItems.Where(x => x.PayoutMonth.Date == payoutPeriod.Date).ToListAsync();
if (rows != null && rows.Any())
{
var summary = new AccountingSummary(payoutPeriod);
summary.DepartmentPayouts = rows;
summary.Total = summary.DepartmentPayouts.Sum(x => x.PayoutTotal);
return summary;
}
return null;
}
}