/* public static List<MultiDictItem> GetMultiDictSearchItems(int langId, string searchText, string leadingCharacter) * { * var items = new List<MultiDictItem>(); * * foreach (var item in DB.GetMultiDictSearchItems(langId, searchText, leadingCharacter)) * { * var curItem = new MultiDictItem(item["item_id"].ToString(), item["item_value"].ToString(), false); * items.Add(curItem); * } * * return items; * }*/ public static List <MultiDictItem> GetMultiDictSearchItems(int langId, string searchText, string leadingCharacter) { var items = CacheProvider.Provider.GetOrSetForever("multilingual_dictionary", () => MultiDictItem.GetAllMultiDictItems())[langId] .Where(i => i.Text.ToUpper().Contains(searchText.ToUpper())).ToList(); if (!String.IsNullOrEmpty(leadingCharacter)) { items = items.Where(i => i.Text.ToUpper().StartsWith(leadingCharacter)).ToList(); // no need of to uppering of leading character } return(items); }
/* public static IEnumerable<MultiDictTranslation> GetMultiDictItemTranslations(string itemId) * { * var items = new List<MultiDictTranslation>(); * * foreach (var item in DB.GetMultiDictTranslations(itemId)) * { * var curItem = new MultiDictTranslation(int.Parse(item["id"].ToString()), item["translation_value"].ToString(), Convert.ToInt32(item["lang_id"]), itemId); * items.Add(curItem); * } * * return items; * }*/ public static IEnumerable <MultiDictTranslation> GetMultiDictItemTranslations(string itemId) { var items = new List <MultiDictTranslation>(); var allMultiDictItems = CacheProvider.Provider.GetOrSetForever("multilingual_dictionary", () => MultiDictItem.GetAllMultiDictItems()); foreach (var item in allMultiDictItems) { var curDictEntry = item.Value.Where(i => i.ItemId == itemId).FirstOrDefault(); if (curDictEntry != null) { var curTranslationItem = new MultiDictTranslation(0, curDictEntry.Text, curDictEntry.LangId, itemId, curDictEntry.SearchText); items.Add(curTranslationItem); } } var externalOrderingList = InterfaceLanguages.Languages.Where(l => l.IsInterfaceLang).Select(l => l.Id).Reverse().ToList(); // Interface languages // var externalOrderingList = new List<int> { 5, 10, 15, 25 }; return(items.OrderByDescending(i => externalOrderingList.IndexOf(i.LangId)).ThenBy(i => i.LangId)); }