public void Prosomoion_Self_Serialize() { string xmlString = @"<prosomoion self=""true""/>"; TypiconSerializer ser = new TypiconSerializer(); Prosomoion element = ser.Deserialize <Prosomoion>(xmlString); Assert.Pass(ser.Serialize(element)); }
public void Prosomoion_Deserialize() { string xmlString = @"<prosomoion> <item language=""cs-ru"">Все́ отло́жше</item> </prosomoion>"; TypiconSerializer ser = new TypiconSerializer(); Prosomoion element = ser.Deserialize <Prosomoion>(xmlString); Assert.IsFalse(element.Self); Assert.IsFalse(element.IsEmpty); }
public static void AppendViewModel(this Prosomoion prosomoion, int typiconVersionId, IRuleSerializerRoot serializer, OutputSectionModelCollection viewModel, int?ihos = null) { ItemText ihosItemText = null; ItemText prosomoionItemText = null; if (ihos != null) { //текст "Глас" ihosItemText = serializer.GetCommonRuleItemTextValue(typiconVersionId, CommonRuleConstants.IhosText); ihosItemText.ReplaceForEach("[ihos]", ihos.Value); } else { ihosItemText = new ItemText(); } //самоподобен? if (prosomoion?.Self == true) { prosomoionItemText = serializer.GetCommonRuleItemTextValue(typiconVersionId, CommonRuleConstants.SelfText); } //если подобен else if (prosomoion?.IsEmpty == false) { prosomoionItemText = serializer.GetCommonRuleItemTextValue(typiconVersionId, CommonRuleConstants.ProsomoionText); prosomoionItemText.ReplaceForEach("[name]", prosomoion); } else { prosomoionItemText = new ItemText(); } //соединяем воедино ihosItemText.Merge(prosomoionItemText); viewModel.Add(OutputSectionFactory.Create(TextHolderKind.Text, new List <ItemTextNoted> { new ItemTextNoted(ihosItemText) })); }
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) })); }