예제 #1
0
        public ItemTextUnit(ItemTextUnit source)
        {
            if (source == null)
            {
                throw new ArgumentNullException("ItemTextUnit");
            }

            Text     = source.Text;
            Language = source.Language;
        }
예제 #2
0
 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));
     }
 }
예제 #3
0
        /// <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));
        }
예제 #4
0
        public string ToString(string language)
        {
            ItemTextUnit item = FirstOrDefault(language);

            return((item != null) ? item.Text : string.Empty);
        }