using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; using PayRollDAL.DTO.Adjustment; using PayrollDAL.DTO.Adjustment; using System; using System.Collections.Generic; using System.Data.Common; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace PayRollDAL.CustomeCode.Adjustment { public interface IAdjustmentDAL { Task> GetAdjustmentReportAsync( int firstNumber, int maxResult, CriteriaDTO criteriaDTO, LoginDTO loginDTO, bool isCount = false); Task> AdjustmentNumberSelectlist( int firstNumber, int maxResult, CriteriaDTO criteriaDTO, LoginDTO loginDTO, bool isCount = false); Task GetEmployeeReportingInfo(int employeeId, LoginDTO loginDTO, DbTransaction? transaction = null); Task<(DateTime FromDate, DateTime ToDate)?> GetPeriodRange(int periodId, LoginDTO loginDTO, DbTransaction? transaction = null); Task SaveAdjustment(AdjustmentDTO dto, LoginDTO loginDTO, DbTransaction? transaction = null); Task UpdateAdjustment(AdjustmentDTO dto, LoginDTO loginDTO, DbTransaction? transaction = null); Task SaveAdjustmentDetail(AdjustmentDetailDTO detail, LoginDTO loginDTO, DbTransaction? transaction = null); Task DeleteAdjustmentDetails(int adjustmentId, LoginDTO loginDTO, DbTransaction? transaction = null); Task GetAdjustment(int adjustmentId, LoginDTO loginDTO, CancellationToken ct); /// GB4 parity: Reason lookup used in SaveAdjustment's EventLog text. Task GetReasonName(int reasonId, LoginDTO loginDTO, CancellationToken ct); Task> GetAdjustmentDetailsByHeader(int adjustmentId, LoginDTO loginDTO, CancellationToken ct); Task DeleteAdjustment(int adjustmentId, LoginDTO loginDTO, DbTransaction? transaction = null); Task> GetAdjustmentForImport(CriteriaDTO criteriaDTO, LoginDTO loginDTO, CancellationToken ct); } }