using Distribution.Models; namespace Distribution.Features.SupplierPayment; public interface ISupplierPaymentRepository { Task GetByIdAsync(Guid id); Task> ListBySupplierAsync(Guid supplierId, int page, int pageSize); Task CountBySupplierAsync(Guid supplierId); Task AddAsync(Models.SupplierPayment payment); /// Sum of currently-allocated amounts to a GRN, across all active SupplierPayments. Task GetAllocatedTotalForGrnAsync(Guid goodsReceiptId); /// Load a GRN with its items so the total can be computed. Task GetGrnWithItemsAsync(Guid goodsReceiptId); }