namespace CashLineERP.Application.Finance;

public interface IAccountingRuleRepository
{
    IReadOnlyCollection<FinanceAccountingRuleDetailView> GetAccountingRules(bool activeOnly = false);

    FinanceAccountingRuleDetailView? GetAccountingRule(long financeAccountingRuleId);

    FinanceAccountingRuleDetailView Create(CreateFinanceAccountingRuleCommand command);

    FinanceAccountingRuleDetailView Submit(long financeAccountingRuleId, long actorUserId);

    FinanceAccountingRuleDetailView Approve(long financeAccountingRuleId, long actorUserId);

    FinanceAccountingRuleDetailView Activate(long financeAccountingRuleId, long actorUserId);
}
