namespace CashLineERP.Application.Pricing;

public interface IPricingRuleRepository
{
    IReadOnlyCollection<PricingRuleDetailView> GetPricingRules(bool activeOnly = false);

    PricingRuleDetailView? GetPricingRule(long pricingRuleId);

    PricingRuleDetailView Create(CreatePricingRuleCommand command);

    PricingRuleDetailView Submit(long pricingRuleId, long actorUserId);

    PricingRuleDetailView Approve(long pricingRuleId, long actorUserId);

    PricingRuleDetailView Activate(long pricingRuleId, long actorUserId);

    PricingEvaluationView Evaluate(PricingEvaluationCommand command);
}
