using CashLineERP.Contracts.Procurement;

namespace CashLineERP.Application.Procurement;

public interface IPurchaseReturnService
{
    IReadOnlyCollection<PurchaseReturnResponse> GetPurchaseReturns();

    PurchaseReturnResponse? GetPurchaseReturn(long purchaseReturnId);

    PurchaseReturnResponse CreatePurchaseReturn(CreatePurchaseReturnRequest request);

    PurchaseReturnResponse SubmitPurchaseReturn(long purchaseReturnId, long actorUserId);

    PurchaseReturnResponse PostPurchaseReturn(long purchaseReturnId, long actorUserId);

    PurchaseReturnResponse IssueDebitNote(long purchaseReturnId, IssuePurchaseReturnDebitNoteRequest request);
}
