コード例 #1
0
ファイル: KanonasRule.cs プロジェクト: uzador/TypiconOnline
        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);
            }
        }
コード例 #2
0
ファイル: KSedalenRule.cs プロジェクト: uzador/TypiconOnline
 protected override void InnerInterpret(IRuleHandler handler)
 {
     if (handler.IsAuthorized <KSedalenRule>())
     {
         handler.Execute(this);
     }
 }
コード例 #3
0
 protected override void InnerInterpret(IRuleHandler handler)
 {
     if (handler.IsAuthorized <KanonasItemRuleBase>())
     {
         handler.Execute(this);
     }
 }
コード例 #4
0
ファイル: TextHolder.cs プロジェクト: uzador/TypiconOnline
 protected override void InnerInterpret(IRuleHandler handler)
 {
     if (handler.IsAuthorized <TextHolder>())
     {
         handler.Execute(this);
     }
 }
コード例 #5
0
 protected override void InnerInterpret(IRuleHandler handler)
 {
     if (handler.IsAuthorized <KekragariaRule>())
     {
         base.InnerInterpret(handler);
     }
 }
コード例 #6
0
        protected override void InnerInterpret(IRuleHandler handler)
        {
            if (handler.IsAuthorized <KAfterRule>())
            {
                base.InnerInterpret(handler);

                handler.Execute(this);
            }
        }
コード例 #7
0
ファイル: Notice.cs プロジェクト: uzador/TypiconOnline
        protected override void InnerInterpret(IRuleHandler handler)
        {
            if (handler.IsAuthorized <Notice>())
            {
                handler.Execute(this);

                //base.Interpret(date, handler);
            }
        }
コード例 #8
0
ファイル: EktenisRule.cs プロジェクト: uzador/TypiconOnline
        //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();
            }
        }
コード例 #9
0
        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);
            }
        }
コード例 #10
0
        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;
            }
        }