using AccountsDAL.DTO.Warehouse; using GB5Shared.DTO.Framework.Login; namespace AccountsDAL.CustomCode.Warehouse { public interface IWarehouseAdminDAL { // ─── Fact ──────────────────────────────────────────────────────────── Task GetWarehouseFactsAsync(LoginDTO login, CancellationToken ct); Task SaveWarehouseFactAsync(SaveWarehouseFactDTO dto, bool isNew, LoginDTO login, CancellationToken ct); Task DeleteWarehouseFactAsync(int factId, int modifiedById, LoginDTO login, CancellationToken ct); // ─── Measure ───────────────────────────────────────────────────────── Task GetWarehouseMeasuresByFactAsync(int factId, LoginDTO login, CancellationToken ct); Task SaveWarehouseMeasureAsync(SaveWarehouseMeasureDTO dto, bool isNew, LoginDTO login, CancellationToken ct); Task DeleteWarehouseMeasureAsync(int measureId, int modifiedById, LoginDTO login, CancellationToken ct); // ─── Posting Rule ───────────────────────────────────────────────────── Task GetWarehousePostingRulesByFactAsync(int factId, LoginDTO login, CancellationToken ct); Task SaveWarehousePostingRuleAsync(SaveWarehousePostingRuleDTO dto, bool isNew, LoginDTO login, CancellationToken ct); Task DeleteWarehousePostingRuleAsync(int postingRuleId, int modifiedById, LoginDTO login, CancellationToken ct); // ─── DIMOU ETL ──────────────────────────────────────────────────────── Task PopulateDimOuAsync(LoginDTO login, CancellationToken ct); } }