using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; using MaintenanceDAL.DTO.Claim; using System; using System.Collections.Generic; using System.Data.Common; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace MaintenanceDAL.CustomCode.Claim { public class PeriodWindowDTO { public DateTime FromDate { get; set; } public DateTime ToDate { get; set; } public byte Status { get; set; } } public interface IClaimDAL { Task GetClaim(int ClaimId, LoginDTO LoginDTO); Task GetSelectListClaim(CriteriaDTO CriteriaDTO, LoginDTO LoginDTO); Task SaveClaim(ClaimDTO claimDTO, LoginDTO loginDTO, DbTransaction DbTransaction, CancellationToken ct); Task UpdateClaim(ClaimDTO claimDTO, LoginDTO loginDTO, DbTransaction DbTransaction, CancellationToken ct); Task DeleteClaim(int claimId, LoginDTO loginDTO, DbTransaction DbTransaction, CancellationToken ct); /// True once the claim has been posted to a pay period (POSTEDPAYPERIODID <> -1) — cannot be edited/deleted past this point. Task IsClaimAlreadyProcessed(int claimId, LoginDTO loginDTO, CancellationToken ct); Task GetPeriodWindow(int periodId, LoginDTO loginDTO, CancellationToken ct); /// Resolves the BizTransactionType configured for a given class/period/OU — used to auto-create the linked Travel/Expense Request claim. Task GetBizTransactionTypeForClass(int bizTransactionClassId, int periodId, int ouId, LoginDTO loginDTO, CancellationToken ct); /// Persists the VoucherId + settled status after Accounts posts the claim's settlement voucher. Task UpdateClaimVoucherPosting(int claimId, int voucherId, byte claimStatus, LoginDTO loginDTO, DbTransaction dbTransaction, CancellationToken ct); } }