using General_Ledger_Service.Enums; using General_Ledger_Service.Models; namespace General_Ledger_Service.Interfaces.Repositories { public interface IChequeRepository { Task AddChequeBookAsync(ChequeBook chequeBook); Task GetChequeBookByIdAsync(long chequeBookId); Task GetChequeBookByNoAsync(string chequeBookNo, bool includePages = false); Task ChequeBookNoExistsAsync(string chequeBookNo); Task<(List Items, int TotalCount)> ListChequeBooksAsync( long? bankAccountId, long? branchId, ChequeBookStatus? status, int? page, int? pageSize); Task AddChequePagesAsync(IEnumerable pages); Task GetChequePageByNoAsync(string chequeNo); Task ChequeNoExistsAsync(string chequeNo); Task<(List Items, int TotalCount)> ListChequePagesAsync( string? chequeBookNo, ChequeIssueStatus? issueStatus, ChequePayeeType? payeeType, long? payeeId, int? page, int? pageSize); Task AddReceivedChequeAsync(ReceivedCheque receivedCheque); Task GetReceivedChequeByIdAsync(long receivedChequeId); Task<(List Items, int TotalCount)> ListReceivedChequesAsync( long? companyId, long? branchId, ReceivedChequeStatus? status, ReceivedChequeFromType? receivedFromType, int? page, int? pageSize); } }