public ItemTextUnit(ItemTextUnit source) { if (source == null) { throw new ArgumentNullException("ItemTextUnit"); } Text = source.Text; Language = source.Language; }
public void AddOrUpdate(ItemTextUnit item) { if (Items.FirstOrDefault(c => c.Language == item.Language) is ItemTextUnit found) { found.Text = item.Text; } else { _items.Add(new ItemTextUnit(item.Language, item.Text)); } }
/// <summary> /// Возвращает текст согласно введенному языку, либо первый попавшийся /// </summary> /// <param name="language"></param> /// <returns></returns> public ItemTextUnit FirstOrDefault(string language) { ItemTextUnit result = null; if (Items.AsQueryable().FirstOrDefault(c => c.Language == language) is ItemTextUnit found) { result = found; } else if (Items.Count > 0) { result = Items.First(); } //Возвращаем новый объект, чтобы избежать ошибки при сериализации return((result != null) ? new ItemTextUnit(result.Language, result.Text) : default(ItemTextUnit)); }
public string ToString(string language) { ItemTextUnit item = FirstOrDefault(language); return((item != null) ? item.Text : string.Empty); }