Esempio n. 1
0
        private ExapostilarionItem GetYmnos(DayContainer day)
        {
            ExapostilarionItem result = null;

            switch (Place)
            {
            case ExapostilarionItemPlace.Exap1:
            {
                result = (day.Orthros?.Exapostilarion?.Ymnis.Count > 0) ? day.Orthros.Exapostilarion.Ymnis[0] : null;
            }
            break;

            case ExapostilarionItemPlace.Exap2:
            {
                result = (day.Orthros?.Exapostilarion?.Ymnis.Count > 1) ? day.Orthros.Exapostilarion.Ymnis[1] : null;
            }
            break;

            case ExapostilarionItemPlace.Theotokion:
            {
                result = day.Orthros?.Exapostilarion?.Theotokion;
            }
            break;
            }

            return(result);
        }
Esempio n. 2
0
        public Exapostilarion GetStructure(RuleHandlerSettings settings)
        {
            Exapostilarion result = null;

            if (!ThrowExceptionIfInvalid(settings))
            {
                //разбираемся с source
                DayContainer day = GetDayContainer(settings);

                //не выдаем ошибки, если день не найден
                if (day != null)
                {
                    //теперь разбираемся с place И kind
                    switch (Kind)
                    {
                    case ExapostilarionItemKind.Exap:
                    {
                        List <ExapostilarionItem> ymnis = GetYmnis(day);
                        if (ymnis != null)
                        {
                            result = new Exapostilarion();
                            result.Ymnis.AddRange(ymnis);
                        }
                    }
                    break;

                    case ExapostilarionItemKind.Theotokion:
                    {
                        ExapostilarionItem ymnos = GetYmnos(day);
                        if (ymnos != null)
                        {
                            result = new Exapostilarion
                            {
                                Theotokion = ymnos
                            };
                        }
                    }
                    break;
                    }
                }
            }

            return(result);
        }