Example #1
0
        /// <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);
            }
        }
Example #2
0
 /// <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;
 }