using AccountsDAL.DTO.AccountsReports; using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Threading.Tasks; namespace AccountsBLL.AccountReports.AccountRegister { public interface IAccountRegisterReportBLL { // menuId: caller-supplied MMENU.MENUID for whichever menu screen invoked this report (Account // Standard Register, Receipt Register, Payment Register, ...) — used to look up that role's // MROLEVSMENU DaysLimit/RecordsLimit. Trusted the same way FirstNumber/MaxResult already are. // sortBy: optional caller-supplied sort order; defaults to VoucherDate/BizTransactionTypeCode/ // VoucherNumber (matching GB4.7) when omitted — see AccountReportSortBuilder. Task GetAccountRegisterDetailReport( int firstNumber, int maxResult, CriteriaDTO criteriaDTO, List sortBy, int menuId, LoginDTO loginDTO, CancellationToken ct = default); IAsyncEnumerableGetAccountRegisterDetailReportStream( int firstNumber, int maxResult, CriteriaDTO criteriaDTO, List sortBy, int menuId, LoginDTO loginDTO, [EnumeratorCancellation] CancellationToken ct = default); } }