using CashLineERP.Contracts.Sales;

namespace CashLineERP.Application.Sales;

public interface ISalesReturnRepository
{
    IReadOnlyCollection<SalesReturnDetailView> GetSalesReturns();

    SalesReturnDetailView? GetSalesReturn(long salesReturnId);

    SalesReturnDetailView Create(CreateSalesReturnCommand command);

    SalesReturnDetailView Submit(long salesReturnId, long actorUserId);

    SalesReturnDetailView Post(long salesReturnId, long actorUserId);

    SalesReturnDetailView IssueCreditNote(long salesReturnId, IssueSalesReturnCreditNoteRequest request);
}
