using CashLineERP.Contracts.Pricing;

namespace CashLineERP.Application.Pricing;

public interface IPricingRuleService
{
    IReadOnlyCollection<PricingRuleResponse> GetPricingRules(bool activeOnly = false);

    PricingRuleResponse? GetPricingRule(long pricingRuleId);

    PricingRuleResponse CreatePricingRule(CreatePricingRuleRequest request);

    PricingRuleResponse SubmitPricingRule(long pricingRuleId, long actorUserId);

    PricingRuleResponse ApprovePricingRule(long pricingRuleId, long actorUserId);

    PricingRuleResponse ActivatePricingRule(long pricingRuleId, long actorUserId);

    PricingEvaluationResponse EvaluatePricing(PricingEvaluationRequest request);
}
