protected override void InnerInterpret(IRuleHandler handler) { if (handler.IsAuthorized <KanonasRule>()) { ///используем специальный обработчик для KKatavasiaRule var katavasiaContainer = GetChildElements <KKatavasiaRule>(handler); //используем специальный обработчик для KanonasItem, //чтобы создать список источников канонов на обработку var kanonasItemContainer = GetChildElements <KKanonasItemRule>(handler); if (kanonasItemContainer != null) { CalculateOdesStructure(handler, kanonasItemContainer, (katavasiaContainer != null)); } if (katavasiaContainer != null) { CalculateKatavasiaStructure(handler, katavasiaContainer); } //находим KAfterRules var afterContainer = GetChildElements <KAfterRule>(handler); if (afterContainer != null) { AfterRules = afterContainer.ChildElements.Cast <KAfterRule>(); } handler.Execute(this); } }
protected override void InnerInterpret(IRuleHandler handler) { if (handler.IsAuthorized <KSedalenRule>()) { handler.Execute(this); } }
protected override void InnerInterpret(IRuleHandler handler) { if (handler.IsAuthorized <KanonasItemRuleBase>()) { handler.Execute(this); } }
protected override void InnerInterpret(IRuleHandler handler) { if (handler.IsAuthorized <TextHolder>()) { handler.Execute(this); } }
protected override void InnerInterpret(IRuleHandler handler) { if (handler.IsAuthorized <KekragariaRule>()) { base.InnerInterpret(handler); } }
protected override void InnerInterpret(IRuleHandler handler) { if (handler.IsAuthorized <KAfterRule>()) { base.InnerInterpret(handler); handler.Execute(this); } }
protected override void InnerInterpret(IRuleHandler handler) { if (handler.IsAuthorized <Notice>()) { handler.Execute(this); //base.Interpret(date, handler); } }
//public ItemText Name { get; set; } //public List<TextHolder> CalculatedElements { get; private set; } protected override void InnerInterpret(IRuleHandler handler) { if (handler.IsAuthorized <EktenisRule>()) { base.InnerInterpret(handler); //используем специальный обработчик для Ektenis, //чтобы создать вычисленный список элементов TextHolder //ExecContainer container = GetChildElements<TextHolder>(date, handler); //CalculatedElements = container?.ChildElements.Cast<TextHolder>().ToList(); } }
protected override void InnerInterpret(IRuleHandler handler) { if (handler.IsAuthorized <YmnosStructureRule>()) { //используем специальный обработчик для YmnosStructureRule, //чтобы создать список источников стихир на обработку ExecContainer container = GetChildElements <ICalcStructureElement>(handler); if (container != null) { CalculateYmnosStructure(handler.Settings, container); } handler.Execute(this); } }
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; } }