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> BuildUserDepartmentsPayoutView(AppUser employee, MonthRange range); Task RunMonthlyIncentivePayouts(PayoutIncentiveRequest request); Task> CreateMonthlyIncentivePayouts(PayoutIncentiveRequest request); Task> RetrieveMonthlyIncentivePayouts(DateTime period); Task RetrieveUserMonthlyIncentivePayout(AppUser appUser, DateTime period); Task> RetrieveCombinedDepartmentPayouts(AppUser incentiveAppUser, MonthRange range); Task> CreateCombinedDepartmentPayouts(AppUser incentiveAppUser, MonthRange range); Task CreateTerminatedEmployeePayouts(AppUser appUser, AppUser manager); Task CreateMonthlyAccountingPayouts(MonthRange range); Task RetrieveMonthlyAccountingPayouts(MonthRange range); } }