/* * Функция нахождения ключа экстремистской фразы в словаре. * extremistPhrase - исходная экстремистская фраза. * connection - соединение с базой данных. */ private string SearchExtremistPhraseID(ExtremistPhrase extremistPhrase, MicrosoftSQLConnection connection) { string typeID = Convert.ToString(ExtremistTypes().IndexOf(extremistPhrase.typePhrase) + 1); string element = "phrase = N'" + extremistPhrase.phrase + "' AND type_id = " + typeID; return(connection.SearchIDTableElement(VOCABULARY_NAME, element)); }
/* * Переопределение функции сравнения двух объектов класса ExtremistPhrase. */ public override bool Equals(object obj) { if (obj == null || GetType() != obj.GetType()) { return(false); } ExtremistPhrase extremistPhrase = (ExtremistPhrase)obj; return((this.phrase == extremistPhrase.phrase) && (this.typePhrase == extremistPhrase.typePhrase)); }
/// <summary> /// Обработчик нажатия кнопки "Удалить" для удаления экстремисткого выражения из базы данных /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonDeleteWordDB_Click(object sender, EventArgs e) { ExtremistPhrase phrase = phraseVocabulary.phrases[dataGridViewSourse.CurrentRow.Index]; if (phraseVocabulary.DeleteExtremistPhrase(phrase)) { UpdateTablePhraseVocabulary(); MessageBox.Show("Фраза успешно удалена из базы данных.", "Сообщение об удалении фразы"); } else { MessageBox.Show("Невозможно удалить фразу.", "Сообщение об удалении фразы"); } }
/* * Функция удаления экстремистской фразы из словаря. * deleteExtremistPhrase - экстремистская фраза, которая удаляется из словаря. */ public bool DeleteExtremistPhrase(ExtremistPhrase deleteExtremistPhrase) { if (SearchExtremistPhrase(deleteExtremistPhrase)) { MicrosoftSQLConnection connection = new MicrosoftSQLConnection(); bool deleteElement = false; if (connection.IsOpenConnection()) { string IDElement = "phrase_id = " + SearchExtremistPhraseID(deleteExtremistPhrase, connection); deleteElement = connection.DeleteTableElement(VOCABULARY_NAME, IDElement); } connection.CloseConnection(); LoadVocabulary(); return(deleteElement); } else { return(false); } }
/// <summary> /// Обработчик нажатия кнопки "Изменить" для изменения экстремисткого выражения в базе данных /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonUpdateWordDB_Click(object sender, EventArgs e) { if (richTextBoxWord.Text == "") { MessageBox.Show("Ошибка изменения записи в базе данных! Введите в пустое поле фразу и попробуйте еще раз.", "Сообщение об ошибке"); } else { ExtremistPhrase enterPhrase = new ExtremistPhrase(richTextBoxWord.Text, phraseVocabulary.ExtremistTypes()[comboBoxExtrimism.SelectedIndex]); ExtremistPhrase updatePhrase = phraseVocabulary.phrases[dataGridViewSourse.CurrentRow.Index]; if (phraseVocabulary.UpdateExtremistPhrase(enterPhrase, updatePhrase)) { UpdateTablePhraseVocabulary(); MessageBox.Show("Фраза успешно изменена в базе данных.", "Сообщение об изменении фразы"); } else { MessageBox.Show("Невозможно изменить фразу.", "Сообщение об изменении фразы"); } } }
/* * Функция добавления новой экстремистской фразы в словарь. * addExtremistPhrase - экстремистская фраза, которую необходимо добавить в словарь. */ public bool AddExtremistPhrase(ExtremistPhrase addExtremistPhrase) { if (!SearchExtremistPhrase(addExtremistPhrase)) { MicrosoftSQLConnection connection = new MicrosoftSQLConnection(); bool addElement = false; if (connection.IsOpenConnection()) { string typeID = Convert.ToString(ExtremistTypes().IndexOf(addExtremistPhrase.typePhrase) + 1); string values = "(SELECT 1 + MAX(phrase_id) FROM " + VOCABULARY_NAME + "), N'" + addExtremistPhrase.phrase + "', " + typeID; addElement = connection.AddTableElement(VOCABULARY_NAME, values); } connection.CloseConnection(); LoadVocabulary(); return(addElement); } else { return(false); } }
/* * Функция изменения экстремистской фразы в словаре. * enterExtremistPhrase - экстремистская фраза, на которую изменяется исходная фраза. * updateExtremistPhrase - экстремистская фраза, которая изменяется в словаре. */ public bool UpdateExtremistPhrase(ExtremistPhrase enterExtremistPhrase, ExtremistPhrase updateExtremistPhrase) { if (SearchExtremistPhrase(updateExtremistPhrase)) { MicrosoftSQLConnection connection = new MicrosoftSQLConnection(); bool updateElement = false; if (connection.IsOpenConnection()) { string typeID = Convert.ToString(ExtremistTypes().IndexOf(enterExtremistPhrase.typePhrase) + 1); string set = "phrase = N'" + enterExtremistPhrase.phrase + "', type_id = " + typeID; string IDElement = "phrase_id = " + SearchExtremistPhraseID(updateExtremistPhrase, connection); updateElement = connection.UpdateTableElement(VOCABULARY_NAME, set, IDElement); } connection.CloseConnection(); LoadVocabulary(); return(updateElement); } else { return(false); } }
/// <summary> /// Обработчик нажатия кнопки "Добавить" для добавления экстремисткого выражения в базу данных /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonAddWordBD_Click(object sender, EventArgs e) { string text = "Введите слово(фразу)"; if (richTextBoxWord.Text == text) { MessageBox.Show("Ошибка добавления в базу данных! Введите в пустое поле фразу и попробуйте еще раз.", "Сообщение об ошибке"); } else { ExtremistPhrase phrase = new ExtremistPhrase(richTextBoxWord.Text, phraseVocabulary.ExtremistTypes()[comboBoxExtrimism.SelectedIndex]); if (phraseVocabulary.AddExtremistPhrase(phrase)) { UpdateTablePhraseVocabulary(); AddPhraseCheckBox.Checked = false; MessageBox.Show("Фраза успешно добавлена в базу данных.", "Сообщение об добавлении фразы"); } else { MessageBox.Show("Фраза уже существует в базе данных.", "Сообщение об добавлении фразы"); } } }
/* * Функция, которая проверяет, существует ли экстремистская фраза в словаре. * searchExtremistPhrase - экстремистская фраза, которая проверяется на существование в словаре. */ private bool SearchExtremistPhrase(ExtremistPhrase searchExtremistPhrase) { return(phrases.IndexOf(searchExtremistPhrase) >= 0); }