using Fake.Domain.Repositories; using Oms.Domain.OrdersAggregate.Entities; namespace Oms.Domain.OrdersAggregate.Repositories; public interface IOrderRepository : IRepository { Task<(List Items, int Total)> GetFilteredPagedListAsync( int pageIndex, int pageSize, OrderListFilter filter, CancellationToken cancellationToken = default); Task> GetFilteredListAsync( OrderListFilter filter, CancellationToken cancellationToken = default); Task GetByServiceNoAsync(string serviceNo, CancellationToken cancellationToken = default); Task HasServiceNoAsync(string serviceNo, CancellationToken cancellationToken = default); Task GetByTrackNoAsync(string trackNo, CancellationToken cancellationToken = default); Task GetByWaybillNoAsync(string waybillNo, CancellationToken cancellationToken = default); Task GetByCustomerAndClientNoAsync(int customerId, string clientNo, CancellationToken cancellationToken = default); Task GetByRequestIdAsync(string requestId, CancellationToken cancellationToken = default); Task> GetSendersByOrderIdsAsync(IEnumerable orderIds, CancellationToken cancellationToken = default); Task> GetRecipientsByOrderIdsAsync(IEnumerable orderIds, CancellationToken cancellationToken = default); Task> GetDeclarationsByOrderIdsAsync(IEnumerable orderIds, CancellationToken cancellationToken = default); Task> GetWeightsByOrderIdsAsync(IEnumerable orderIds, CancellationToken cancellationToken = default); Task InsertSenderAsync(OrderSender sender, CancellationToken cancellationToken = default); Task InsertRecipientAsync(OrderRecipient recipient, CancellationToken cancellationToken = default); Task InsertDeclarationsAsync(IEnumerable declarations, CancellationToken cancellationToken = default); Task ReplaceDeclarationsAsync(int orderId, IEnumerable declarations, CancellationToken cancellationToken = default); Task InsertWeightsAsync(IEnumerable weights, CancellationToken cancellationToken = default); Task ReplaceWeightsAsync(int orderId, IEnumerable weights, CancellationToken cancellationToken = default); Task UpsertFeesAsync(int orderId, IEnumerable fees, CancellationToken cancellationToken = default); Task DeleteReceivableFeesAsync(int orderId, CancellationToken cancellationToken = default); Task DeleteReceivableFeesByStageAsync(int orderId, string chargingStage, CancellationToken cancellationToken = default); Task DeletePayableFeesAsync(int orderId, CancellationToken cancellationToken = default); Task DeletePayableFeesByStageAsync(int orderId, string chargingStage, CancellationToken cancellationToken = default); Task UpdateSenderAsync(OrderSender sender, CancellationToken cancellationToken = default); Task UpdateRecipientAsync(OrderRecipient recipient, CancellationToken cancellationToken = default); Task> GetFeesByOrderIdsAsync(IEnumerable orderIds, CancellationToken cancellationToken = default); Task<(List Items, int Total)> GetReceivablePayablePagedListAsync( int pageIndex, int pageSize, OrderReceivablePayableFilter filter, CancellationToken cancellationToken = default); Task> GetStatusCountsAsync(int? customerId, CancellationToken cancellationToken = default); Task> GetStatusCountsByFilterAsync( OrderListFilter filter, CancellationToken cancellationToken = default); Task CountByFilterAndCreateTimeRangeAsync( OrderListFilter filter, DateTime startInclusive, DateTime endExclusive, CancellationToken cancellationToken = default); Task CountByFilterAndShipTimeRangeAsync( OrderListFilter filter, DateTime startInclusive, DateTime endExclusive, CancellationToken cancellationToken = default); Task SumFeeAmountByPayTimeRangeAsync( OrderListFilter filter, string feeType, DateTime startInclusive, DateTime endExclusive, CancellationToken cancellationToken = default); Task> GetOrdersByFilterAndCreateTimeRangeAsync( OrderListFilter filter, DateTime startInclusive, DateTime endExclusive, CancellationToken cancellationToken = default); }