public static void AppendViewModel(this ItemText text, IRuleHandler handler, ElementViewModel viewModel) { if (text?.IsEmpty == false) { viewModel.Add(ViewModelItemFactory.Create(TextHolderKind.Text, new List <ParagraphViewModel> { ParagraphVMFactory.Create(text, handler.Settings.Language.Name) })); } }
private static void AppendYmnis(List <Ymnos> ymnis, IRuleHandler handler, IRuleSerializerRoot serializer, ElementViewModel viewModel) { var text = GetStringValues(handler, serializer); foreach (Ymnos ymnos in ymnis) { //добавляем стих и песнопение как отдельные объекты foreach (ItemText stihos in ymnos.Stihoi) { viewModel.Add(ViewModelItemFactory.Create(TextHolderKind.Stihos, text.StihosText, new List <ParagraphViewModel> { ParagraphVMFactory.Create(stihos, handler.Settings.Language.Name) })); } viewModel.Add(ViewModelItemFactory.Create(TextHolderKind.Choir, text.ChoirText, new List <ParagraphViewModel> { ParagraphVMFactory.Create(ymnos.Text, handler.Settings.Language.Name) })); } }
public static void AppendViewModel(this Prosomoion prosomoion, IRuleHandler handler, IRuleSerializerRoot serializer, ElementViewModel viewModel, int?ihos = null) { TypiconEntity typ = handler.Settings.Rule.Owner; CommonRuleServiceRequest req = new CommonRuleServiceRequest() { RuleSerializer = serializer }; string str = ""; if (ihos != null) { //текст "Глас" req.Key = CommonRuleConstants.IhosText; string ihosString = handler.Settings.Language.IntConverter.ToString((int)ihos); str += $"{typ.GetCommonRuleTextValue(req, handler.Settings.Language.Name)} {ihosString}. "; } //самоподобен? if (prosomoion?.Self == true) { req.Key = CommonRuleConstants.SelfText; str += typ.GetCommonRuleTextValue(req, handler.Settings.Language.Name); } //если подобен else if (prosomoion?.IsEmpty == false) { req.Key = CommonRuleConstants.ProsomoionText; string p = typ.GetCommonRuleTextValue(req, handler.Settings.Language.Name); str += $"{p}: \"{ prosomoion[handler.Settings.Language.Name] }\""; } viewModel.Add(ViewModelItemFactory.Create(TextHolderKind.Text, new List <ParagraphViewModel> { ParagraphVMFactory.Create(str) })); }