using CashLineERP.Contracts.Procurement;

namespace CashLineERP.Application.Procurement;

public interface IPurchaseReturnRepository
{
    IReadOnlyCollection<PurchaseReturnDetailView> GetPurchaseReturns();

    PurchaseReturnDetailView? GetPurchaseReturn(long purchaseReturnId);

    PurchaseReturnDetailView Create(CreatePurchaseReturnCommand command);

    PurchaseReturnDetailView Submit(long purchaseReturnId, long actorUserId);

    PurchaseReturnDetailView Post(long purchaseReturnId, long actorUserId);

    PurchaseReturnDetailView IssueDebitNote(long purchaseReturnId, IssuePurchaseReturnDebitNoteRequest request);
}
