using Distribution.Models; namespace Distribution.Features.Po; public interface IPoRepository { Task GetByIdAsync(Guid id); Task> GetAllAsync(Guid? supplierId, PurchaseOrderStatus? status); Task AddAsync(Models.PurchaseOrder entity); void Update(Models.PurchaseOrder entity); Task AddItemAsync(PurchaseOrderItem entity); /// True if any active (non-cancelled, non-closed-and-void) PurchaseOrder references this supplier. Task HasActiveForSupplierAsync(Guid supplierId); /// All active PurchaseOrders for a supplier, with items, used by evaluateSupplier. Task> GetBySupplierAsync(Guid supplierId); }