21 lines
989 B
C#
21 lines
989 B
C#
using Distribution.Models;
|
|
|
|
namespace Distribution.Features.Invoice;
|
|
|
|
public interface IInvoiceRepository
|
|
{
|
|
Task<Models.Invoice?> GetByIdAsync(Guid id);
|
|
Task<Models.Invoice?> GetByShopPOIdAsync(Guid shopPOId);
|
|
Task<List<Models.Invoice>> GetAllAsync(Guid? agentId, Guid? routeId, Guid? shopId, InvoiceStatus? status, PaymentStatus? paymentStatus, int page, int pageSize);
|
|
Task<int> GetCountAsync(Guid? agentId, Guid? routeId, Guid? shopId, InvoiceStatus? status, PaymentStatus? paymentStatus);
|
|
Task<List<Models.Invoice>> GetOutstandingAsync();
|
|
Task<decimal> GetSchemeDiscountAsync(Guid shopPOId);
|
|
Task AddAsync(Models.Invoice invoice);
|
|
Task<Models.Item?> GetItemAsync(Guid itemId);
|
|
Task AddItemsAsync(IEnumerable<InvoiceItem> items);
|
|
Task AddVersionAsync(InvoiceVersion version);
|
|
Task<int> GetLatestVersionNumberAsync(Guid invoiceId);
|
|
Task<List<InvoiceVersion>> GetVersionsAsync(Guid invoiceId);
|
|
void Update(Models.Invoice invoice);
|
|
}
|