20 lines
925 B
C#
20 lines
925 B
C#
namespace Distribution.Features.Order;
|
|
|
|
public interface IOrderRepository
|
|
{
|
|
Task<Models.Order?> GetByIdAsync(Guid id);
|
|
Task<List<Models.Order>> GetAllAsync();
|
|
Task<Models.Order?> GetBySaleIdAsync(Guid saleId);
|
|
Task AddAsync(Models.Order entity);
|
|
void Update(Models.Order entity);
|
|
void Remove(Models.Order entity);
|
|
Task<List<Models.OrderItem>> GetItemsByOrderIdAsync(Guid orderId, bool includeHistory = false);
|
|
Task<List<Models.Order>> GetByStoreIdAsync(Guid storeId);
|
|
Task AddItemsAsync(IEnumerable<Models.OrderItem> items);
|
|
Task<List<Models.Order>> GetPendingByRouteIdAsync(Guid routeId);
|
|
|
|
/// <summary>Confirmed POs (ConfirmedAt set, not cancelled) matching the optional filters —
|
|
/// backs Mode B's "office browses Confirmed POs" step per order_invoice_lifecycle.md.</summary>
|
|
Task<List<Models.Order>> GetConfirmedAsync(Guid? agentId, Guid? routeId, Guid? storeId);
|
|
}
|