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; } }
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); }