using AccountsDAL.DTO.AccountsReports; using AccountsDAL.DTO.Reports; using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; using GB5Shared.DTO.Report; using GB5Shared.Export.Pivot; namespace AccountsBLL.AccountReports.AccountTrialBalance { public interface IAccountTrialBalanceReportBLL { Task GetTrialBalanceReport( int firstNumber, int maxResult, CriteriaDTO criteriaDTO, List sortBy, int menuId, LoginDTO loginDTO); Task GetTrialBalanceDetailReport( int firstNumber, int maxResult, CriteriaDTO criteriaDTO, List sortBy, int menuId, LoginDTO loginDTO); Task GetTrialBalanceComparativeReport( int firstNumber, int maxResult, CriteriaDTO criteriaDTO, List sortBy, int menuId, LoginDTO loginDTO); Task GetTrialBalancePeriodicReport( int firstNumber, int maxResult, CriteriaDTO criteriaDTO, List sortBy, int menuId, LoginDTO loginDTO); // Same periodic data as GetTrialBalancePeriodicReport, pivoted server-side (Type/Schedule/ // Group/Account as row dimensions, PeriodLabel as the column dimension, NetAmount summed // per cell) via GB5Shared.Export.Pivot.IDataPivotEngine — one row per Account with a plain // scalar field per period bucket, so the FE can feed it straight into gbslickgrid's own // native grouping (Type->Schedule->Group) exactly like the Hierarchical view does, with // period columns built dynamically from PivotResultDTO.PivotColumns. Task GetTrialBalancePeriodicPivotReport( CriteriaDTO criteriaDTO, int menuId, LoginDTO loginDTO, CancellationToken ct); Task>> GetTrialBalancePeriodicPivotFlatRows( CriteriaDTO criteriaDTO, int menuId, LoginDTO loginDTO, CancellationToken ct); // Exposes the same DB-driven field config GetTrialBalancePeriodicPivotReport already fetches // internally, so the FE can build its column/grouping definitions from real MREPORTVIEWFIELDS // config instead of hardcoding them (GROUP_FIELDS/LEAF_FIELDS constants). Task> GetTrialBalancePeriodicPivotFieldConfig(LoginDTO loginDTO, CancellationToken ct); } }