using System.Collections.Generic; using System.Data.Common; using System.Threading; using System.Threading.Tasks; using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; using PayRollDAL.DTO.PayRevision; namespace PayRollDAL.CustomeCode.PayRevision { public interface IPayRevisionDAL { Task GetPayRevision(int PayRevisionId, LoginDTO LoginDTO, CancellationToken ct = default); Task GetSelectListPayRevision(int FirstNumber, int MaxResult, CriteriaDTO CriteriaDTO, LoginDTO LoginDTO, CancellationToken ct = default); Task SavePayRevision(PayRevisionDTO PayRevisionDTO, LoginDTO LoginDTO, DbTransaction trans, CancellationToken ct = default); Task UpdatePayRevision(PayRevisionDTO PayRevisionDTO, LoginDTO LoginDTO, DbTransaction trans, CancellationToken ct = default); Task DeletePayRevision(int PayRevisionId, LoginDTO LoginDTO, DbTransaction trans, CancellationToken ct = default); Task> GetPayRevisionList(CriteriaDTO criteriaDTO, LoginDTO LoginDTO, CancellationToken ct = default); // ? Add these methods Task SavePayRevisionAddon(long payRevisionId, string feAddon, LoginDTO LoginDTO, DbTransaction trans, CancellationToken ct = default); Task DeletePayRevisionAddon(int PayRevisionId, LoginDTO LoginDTO, DbTransaction trans, CancellationToken ct = default); Task CheckPayProcessExists(int PayRevisionId, LoginDTO LoginDTO, CancellationToken ct = default); Task> GetPreviousRevisionByScope(PayRevisionDTO dto, LoginDTO LoginDTO, DbTransaction trans, CancellationToken ct = default); Task UpdatePreviousRevision(int PayRevisionId, DateOnly effectiveTo, LoginDTO LoginDTO, DbTransaction trans, CancellationToken ct = default); Task CheckNewerRevisionExists(PayRevisionDTO dto, LoginDTO LoginDTO, DbTransaction trans, CancellationToken ct = default); Task GetPredecessorRevision(PayRevisionDTO dto, LoginDTO LoginDTO, DbTransaction trans, CancellationToken ct = default); Task RestorePreviousRevision(int PayRevisionId, LoginDTO LoginDTO, DbTransaction trans, CancellationToken ct = default); Task> GetPayRevisionByField(string FieldName, int FieldId, int Nature, LoginDTO LoginDTO, int OUId, CancellationToken ct = default); Task> ArrearCheck(List PayRevisionDTOs, LoginDTO LoginDTO, CancellationToken ct = default); Task> GetSelectListPayRevisionEmployee( int BizTransactionTypeId, int Applicable, int Nature, string PayRevisionPayRevisionNumber, string EmployeeCode, string EmployeeName, LoginDTO LoginDTO); } }