using CashLineERP.Contracts.Finance;

namespace CashLineERP.Application.Finance;

public interface IAccountingRuleService
{
    IReadOnlyCollection<FinanceAccountingRuleResponse> GetAccountingRules(bool activeOnly = false);

    FinanceAccountingRuleResponse? GetAccountingRule(long financeAccountingRuleId);

    FinanceAccountingRuleResponse CreateAccountingRule(CreateFinanceAccountingRuleRequest request);

    FinanceAccountingRuleResponse SubmitAccountingRule(long financeAccountingRuleId, long actorUserId);

    FinanceAccountingRuleResponse ApproveAccountingRule(long financeAccountingRuleId, long actorUserId);

    FinanceAccountingRuleResponse ActivateAccountingRule(long financeAccountingRuleId, long actorUserId);
}
