/// <summary> /// Добавляет в список [русское слово, список переводов] ключ по заданниму слову /// </summary> /// <param name="word">Строка, содержащая русское слово</param> /// <returns>Возвращает true, если слово было добавлено</returns> private static bool TryToAddRussianWord(string word) { try { if (dictionary.rus_ids.ContainsKey(word)) { return(false); } string request1 = @"https://dictionary.yandex.net/api/v1/dicservice.json/lookup?key=" + Resources.tr_key + @"&lang=ru-en&text=" + word; string response1 = Methods.Request(request1); SpaceYandexRuEn.YandexRuEn rus_mean = Methods.DeSerializationObjFromStr <SpaceYandexRuEn.YandexRuEn>(response1); dictionary.rus_ids.Add(word, new List <long>()); if (rus_mean.def != null) { foreach (var def in rus_mean.def) { if (def.tr != null) { foreach (var tr in def.tr) { if (dictionary.eng_ids.ContainsKey(tr.text)) { dictionary.rus_ids[word].Add(dictionary.eng_ids[tr.text]); } if (tr.syn != null) { foreach (var syn in tr.syn) { //if (!dictionary.eng_ids.ContainsKey(syn.text) ) //TryToAddEnglishWord(syn.text); if (dictionary.eng_ids.ContainsKey(syn.text)) { dictionary.rus_ids[word].Add(dictionary.eng_ids[syn.text]); } } } } } } } return(true); } catch (Exception e) { Console.WriteLine("Some error with adding rus word"); Console.WriteLine(e.Message); Console.WriteLine(e.StackTrace); return(false); } }
/// <summary> /// Конструктор /// </summary> /// <param name="Id">ID</param> /// <param name="Eng">Слово на английском</param> /// <param name="Rus">Слово на русском</param> /// <param name="MeanE">Значение слова на английском</param> /// <param name="MeanR">Значение слова на русском</param> /// <param name="MeanRE">Значение русского перевода на аглийском</param> /// <param name="MeanRR">Значение русского перевода на русском</param> /// <param name="Trans">Транскрипция</param> /// <param name="lev">Уровень слова</param> /// <param name="Tags">Тэги</param> public Word(long Id, string Eng, string tr, string Rus, SpaceYandexEnEn.YandexEnEn MeanE, SpaceYandexEnRu.YandexEnRu MeanR, SpaceYandexRuEn.YandexRuEn MeanRE, SpaceYandexRuRu.YandexRuRu MeanRR, int lev, HashSet <string> Tags) { id = Id; eng = Eng.ToLower(); trans = tr; rus = Rus?.ToLower(); mean_eng = MeanE; mean_rus = MeanR; mean_rus_eng = MeanRE; mean_rus_rus = MeanRR; level = lev; tags = Tags; }