namespace CashLineERP.Application.Finance;

public interface IAccountsReceivableInvoiceRepository
{
    IReadOnlyCollection<AccountsReceivableInvoiceDetailView> GetInvoices();

    AccountsReceivableInvoiceDetailView? GetInvoice(long accountsReceivableInvoiceId);

    AccountsReceivableInvoiceDetailView Create(CreateAccountsReceivableInvoiceCommand command);

    AccountsReceivableInvoiceDetailView Submit(long accountsReceivableInvoiceId, long actorUserId);

    AccountsReceivableInvoiceDetailView Approve(long accountsReceivableInvoiceId, long actorUserId);

    AccountsReceivableInvoiceDetailView Post(long accountsReceivableInvoiceId, long actorUserId);
}
