using Marco.Pms.Model.Dtos.Collection; using Marco.Pms.Model.Dtos.PurchaseInvoice; using Marco.Pms.Model.Employees; using Marco.Pms.Model.PurchaseInvoice; using Marco.Pms.Model.Utilities; using Marco.Pms.Model.ViewModels.PurchaseInvoice; namespace Marco.Pms.Services.Service.ServiceInterfaces { public interface IPurchaseInvoiceService { #region =================================================================== Purchase Invoice Functions =================================================================== Task> GetPurchaseInvoiceListAsync(string? searchString, string? filter, bool isActive, int pageSize, int pageNumber, Employee loggedInEmployee, Guid tenantId, CancellationToken ct); Task> GetPurchaseInvoiceDetailsAsync(Guid id, Employee loggedInEmployee, Guid tenantId, CancellationToken ct); Task> CreatePurchaseInvoiceAsync(PurchaseInvoiceDto model, Employee loggedInEmployee, Guid tenantId, CancellationToken ct); Task> UpdatePurchaseInvoiceAsync(Guid id, PurchaseInvoiceDetails purchaseInvoice, PurchaseInvoiceDto model, Employee loggedInEmployee, Guid tenantId, CancellationToken ct); Task> DeletePurchaseInvoiceAsync(Guid id, bool isActive, Employee loggedInEmployee, Guid tenantId, CancellationToken ct); #endregion #region =================================================================== Delivery Challan Functions =================================================================== Task>> GetDeliveryChallansAsync(Guid purchaseInvoiceId, Employee loggedInEmployee, Guid tenantId, CancellationToken ct); Task> AddDeliveryChallanAsync(DeliveryChallanDto model, Employee loggedInEmployee, Guid tenantId, CancellationToken ct); #endregion #region =================================================================== Purchase Invoice History Functions =================================================================== Task> GetPurchaseInvoiceHistoryListAsync(Guid purchaseInvoiceId, Employee loggedInEmployee, Guid tenantId, CancellationToken ct); Task> AddPurchaseInvoicePaymentAsync(ReceivedInvoicePaymentDto model, Employee loggedInEmployee, Guid tenantId, CancellationToken ct); #endregion #region =================================================================== Helper Functions =================================================================== Task GetPurchaseInvoiceByIdAsync(Guid id, Guid tenantId, CancellationToken ct); #endregion } }