void AddWord()
 {
     try
     {
         var window = new AddWordDialog(Atlas);
         window.ShowDialog();
         if (window.DialogResult == DialogResult.OK)
         {
             if (Atlas.AddWord(window.Word, window.Phonemes))
             {
                 labelStatus.Text = $"Слово \"{window.Word}\" успешно добавлено.";
             }
             else
             {
                 labelStatus.Text = "Ошибка при добавлении слова.";
             }
         }
     }
     catch (Exception ex)
     {
         Program.ErrorMessage(ex, "Ошибка при добавлении слова.");
         labelStatus.Text = "Ошибка при добавлении слова.";
         return;
     }
 }
Example #2
0
 private bool ReDict(List <string> texts)
 {
     if (!Atlas.HasDict)
     {
         return(true);
     }
     Words = new List <Word>();
     for (int i = 0; i < texts.Count; i++)
     {
         Word word = new Word(texts[i], Atlas.Dict.Get(texts[i]), Atlas);
         while (word.Phonemes is null)
         {
             // добавление слова
             bool success = false;
             while (!success)
             {
                 var window = new AddWordDialog(Atlas, texts[i]);
                 window.SetStatus($"Слово \"{texts[i]}\" отсутствует в словаре. Добавьте слово");
                 window.ShowDialog();
                 if (window.DialogResult == DialogResult.OK)
                 {
                     if (Atlas.AddWord(window.Word, window.Phonemes))
                     {
                         window.SetStatus($"Слово \"{window.Word}\" успешно добавлено.");
                         word    = new Word(texts[i], Atlas.Dict.Get(texts[i]), Atlas);
                         success = true;
                     }
                     else
                     {
                         window.SetStatus("Ошибка при добавлении слова.");
                     }
                 }
                 else
                 {
                     return(false);
                 }
             }
             word.Phonemes = Atlas.Dict.Get(texts[i]);
         }
         Words.Add(word);
     }
     Syllables = texts.Select(n => new Syllable(n.Split(' '), Atlas)).ToList();
     return(true);
 }