namespace CashLineERP.Application.Inventory;

public interface IReplenishmentRuleRepository
{
    IReadOnlyCollection<ReplenishmentRuleDetailView> GetReplenishmentRules(bool activeOnly = false);
    ReplenishmentRuleDetailView? GetReplenishmentRule(long replenishmentRuleId);
    ReplenishmentRuleDetailView Create(CreateReplenishmentRuleCommand command);
    ReplenishmentRuleDetailView Submit(long replenishmentRuleId, long actorUserId);
    ReplenishmentRuleDetailView Approve(long replenishmentRuleId, long actorUserId);
    ReplenishmentRuleDetailView Activate(long replenishmentRuleId, long actorUserId);
    ReplenishmentEvaluationView Evaluate(ReplenishmentEvaluationCommand command);
    ReorderPlanningView BuildReorderPlan(ReorderPlanningCommand command);
    ReorderPlanHandoffView CreateOperationalHandoff(ReorderPlanningCommand command, long actorUserId);
}
