protected override void InnerInterpret(IRuleHandler handler) { InterpretChildDateExp(handler); DateToReplaceCalculated = handler.Settings.Date; handler.Execute(this); DateTime date = handler.Settings.Date; handler.Settings.Date = MoveDateCalculated; ModifyReplacedDay?.Interpret(handler); //возвращаем на всякий случай обратно дату handler.Settings.Date = date; }
protected override void InnerInterpret(IRuleHandler handler) { if (IsValid && handler.IsAuthorized <ModifyDay>()) { InterpretChildDateExp(handler); handler.Execute(this); //обработка ModifyReplacedDay DateTime date = handler.Settings.Date; handler.Settings.Date = MoveDateCalculated; ModifyReplacedDay?.Interpret(handler); //возвращаем на всякий случай обратно дату handler.Settings.Date = date; } }