public ProcessBySmsRuleValidator Create(ProcessBySmsRuleDto rule) { switch (rule.RuleId) { case ProcessBySmsRuleId.OrderCreatedTimeRange: return new OrderCreatedTimeProcessBySmsRuleValidator(rule); case ProcessBySmsRuleId.DeliveryAllowedCities: return new DeliveryCityIsMoscowProcessBySmsRuleValidator(rule); default: throw new NotImplementedException(); } }
protected ProcessBySmsRuleValidator(ProcessBySmsRuleDto rule) { Rule = rule; }
public OrderCreatedTimeProcessBySmsRuleValidator(ProcessBySmsRuleDto rule) : base(rule) { _ctx = JsonConvert.DeserializeObject<OrderCreatedTimeRangeRuleContext>(rule.RuleParamsJson); }