Files
2026-03-17 09:53:09 -05:00

23 lines
1.4 KiB
C#

using LCU.Library.Internal.IncentiveApiModels.Entities;
using LCU.API.Internal.Operations.IncentiveApi.Models.Dayforce;
using LCU.API.Internal.Operations.IncentiveApi.Models.Payout;
using LCU.Library.Internal.IncentiveApiModels.Common;
using LCU.Library.Internal.IncentiveApiModels.Requests;
namespace LCU.API.Internal.Operations.IncentiveApi.Services.Payout
{
public interface IPayoutService
{
Task<IReadOnlyCollection<DepartmentPayout>> BuildUserDepartmentsPayoutView(AppUser employee, MonthRange range);
Task RunMonthlyIncentivePayouts(PayoutIncentiveRequest request);
Task<IReadOnlyCollection<PayoutLineItem>> CreateMonthlyIncentivePayouts(PayoutIncentiveRequest request);
Task<IReadOnlyCollection<PayoutEntry>> RetrieveMonthlyIncentivePayouts(DateTime period);
Task<PayoutEntry> RetrieveUserMonthlyIncentivePayout(AppUser appUser, DateTime period);
Task<IReadOnlyCollection<PayoutLineItem>> RetrieveCombinedDepartmentPayouts(AppUser incentiveAppUser, MonthRange range);
Task<IReadOnlyCollection<PayoutLineItem>> CreateCombinedDepartmentPayouts(AppUser incentiveAppUser, MonthRange range);
Task<TerminatedEmployeeReceipt> CreateTerminatedEmployeePayouts(AppUser appUser, AppUser manager);
Task<AccountingSummary> CreateMonthlyAccountingPayouts(MonthRange range);
Task<AccountingSummary> RetrieveMonthlyAccountingPayouts(MonthRange range);
}
}