/// <summary> /// /// </summary> /// <param name="source"></param> /// <param name="symbol">Строковое значение для разделения элементов</param> /// <param name="values"></param> public static ItemText Merge(this ItemText source, string symbol, params ItemText[] values) { if (source == null || values == null || values.Count() == 0) { return(source); } foreach (var value in values) { foreach (ItemTextUnit item in value.Items) { var found = source.Items.FirstOrDefault(c => c.Language == item.Language); if (found != null) { found.Text += $"{symbol}{item.Text}"; } else { source.AddOrUpdate(item.Language, item.Text); } } } return(source); }
public static void ReplaceValues(this ItemText item, ItemText replace) { item.Items.Clear(); replace?.Items.ForEach(c => item.AddOrUpdate(c)); }