using GB5Shared.DTO.Framework.Login; using MMDAL.DTO.StockValuation; namespace MMDAL.CustomCode.StockValuation; public interface IStockValuationDAL { Task InsertValuationRunAsync(StockValuationRunDTO run, LoginDTO login, CancellationToken ct); Task UpdateRunDoneAsync(long runId, LoginDTO login, CancellationToken ct); Task UpdateRunFailedAsync(long runId, string errorMessage, LoginDTO login, CancellationToken ct); Task MarkStuckRunsFailedAsync(LoginDTO login, CancellationToken ct); Task IsRunActiveAsync(int ouid, byte runType, DateOnly periodFrom, DateOnly periodTo, LoginDTO login, CancellationToken ct); Task> GetValuationRunsAsync(int ouid, DateOnly fromDate, DateOnly toDate, LoginDTO login, CancellationToken ct); Task IsPeriodLockedAsync(int ouid, DateOnly date, LoginDTO login, CancellationToken ct); Task ApplyMakeItemCostAsync(int ouid, DateOnly fromDate, DateOnly toDate, LoginDTO login, CancellationToken ct); Task SyncStockPositionFromLedgerAsync(int ouid, DateOnly fromDate, DateOnly toDate, LoginDTO login, CancellationToken ct); Task InsertBalanceSnapshotAsync(int ouid, DateOnly snapshotDate, LoginDTO login, CancellationToken ct); Task CertifySnapshotAsync(int ouid, DateOnly snapshotDate, LoginDTO login, CancellationToken ct); Task GetLastCertifiedSnapshotAsync(int ouid, DateOnly beforeDate, LoginDTO login, CancellationToken ct); Task> GetCostWorkingsAsync( int itemId, int skuId, int storeId, int ouid, DateOnly asOfDate, LoginDTO login, CancellationToken ct); }