public static void Merge(this ItemText oldItem, ItemText newItem) { //добавляем или обновляем локализованные значения foreach (var item in newItem.Items) { oldItem.AddOrUpdate(item); } }
public void ItemText_Serialize() { string xmlString = @"<ItemText> <item language=""cs-ru"">Блажен муж, иже не иде на совет нечестивых и на пути грешных не ста, и на седалищи губителей не седе,</item> <item language=""cs-cs"">Бlжeнъ мyжъ, и4же не и4де на совётъ нечести1выхъ, и3 на пути2 грёшныхъ не стA, и3 на сэдaлищи губи1телей не сёде:</item> <item language=""ru-ru"">Блажен муж, который не пошел на совет нечестивых, и на путь грешных не вступил, и не сидел в сборище губителей;</item> <item language=""el-el"">Μακάριος ἀνήρ, ὃς οὐκ ἐπορεύθη ἐν βουλῇ ἀσεβῶν καὶ ἐν ὁδῷ ἁμαρτωλῶν οὐκ ἔστη καὶ ἐπὶ καθέδραν λοιμῶν οὐκ ἐκάθισεν,</item> </ItemText>"; TypiconSerializer ser = new TypiconSerializer(); ItemText element = ser.Deserialize <ItemText>(xmlString); //element["cs-cs"] = "cs-cs Текст измененный"; element.AddOrUpdate(new ItemTextUnit() { Language = "cs-cs", Text = "cs-cs Текст измененный" }); string result = ser.Serialize(element); Assert.Pass(result); }
private Kathisma CreateKathisma() { //парсим номер из имени файла string numberString = Path.GetFileNameWithoutExtension(FoundFiles[FileIndex]); numberString = numberString.Split(new Char[] { '.' }).FirstOrDefault(); int.TryParse(numberString, out int number); //добавляем в качестве строкового значения полученную строку из Reader-a var numberName = new ItemText(); numberName.AddOrUpdate(new ItemTextUnit() { Language = Language, Text = parsingString }); return(new Kathisma() { Number = number, NumberName = numberName }); }