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); }
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); }