/// <summary> /// Обработчик нажатия кнопки "Изменить" для изменения экстремисткого текста в базе данных /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonUpdateTextDB_Click(object sender, EventArgs e) { if (richTextBoxTextBD.Text == "") { MessageBox.Show("Ошибка изменения записи в базе данных! Введите в пустое поле текст и попробуйте еще раз.", "Сообщение об ошибке"); } else { Text text = new Text(richTextBoxTextBD.Text); if (text.TextWords().Length > 5) { string startText = text.fullText.Substring(0, text.SpaceElementLocationTextIndex(5)); string lastText = text.fullText.Substring( text.SpaceElementLocationTextIndex(text.TextWords().Length - 5) + 1, text.fullText.Length - text.SpaceElementLocationTextIndex(text.TextWords().Length - 5) - 1); ExtremistText enterText = new ExtremistText(startText, lastText, richTextBoxTextBD.Text); ExtremistText updateText = textVocabulary.texts[dataGridViewSourse.CurrentRow.Index]; if (textVocabulary.UpdateExtremistText(enterText, updateText)) { UpdateTableTextVocubulary(); MessageBox.Show("Текст успешно изменен в базе данных.", "Сообщение об изменении текста"); } else { MessageBox.Show("Невозможно изменить текст.", "Сообщение об изменении текста"); } } else { MessageBox.Show("Введите не менее 5 слов,чтобы изменить текст в базе данных", "Сообщение об изменении текста"); } } }
/// <summary> /// Обработчик нажатия кнопки "Добавить" для добавления экстремисткого текста в базу данных /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonAddTextBD_Click(object sender, EventArgs e) { string text = "Введите текст для добавления в базу данных"; if (richTextBoxTextBD.Text == text) { MessageBox.Show("Ошибка добавления в базу данных! Введите в пустое поле текст и попробуйте еще раз.", "Сообщение об ошибке"); } else { Text enterText = new Text(richTextBoxTextBD.Text); if (enterText.TextWords().Length > 5) { string startText = enterText.fullText.Substring(0, enterText.SpaceElementLocationTextIndex(5)); string lastText = enterText.fullText.Substring( enterText.SpaceElementLocationTextIndex(enterText.TextWords().Length - 5) + 1, enterText.fullText.Length - enterText.SpaceElementLocationTextIndex(enterText.TextWords().Length - 5) - 1); ExtremistText inputText = new ExtremistText(startText, lastText, richTextBoxTextBD.Text); if (textVocabulary.AddExtremistText(inputText)) { UpdateTableTextVocubulary(); AddTextCheckBox.Checked = false; MessageBox.Show("Текст успешно добавлен в базу данных.", "Сообщение об добавлении текста"); } else { MessageBox.Show("Текст уже существует в базе данных.", "Сообщение об добавлении текста"); } } else { MessageBox.Show("Введите не менее 5 слов,чтобы добавить текст в базу данных", "Сообщение об добавлении текста"); } } }
/* * Функция нахождения ключа экстремистского текста в словаре. * extremistText - исходный экстремистский текст. * connection - соединение с базой данных. */ private string SearchExtremistTextID(ExtremistText extremistText, MicrosoftSQLConnection connection) { string element = "start_text = N'" + extremistText.startWords + "' AND finish_text = N'" + extremistText.endWords + "' AND full_text = N'" + extremistText.fullText + "'"; return(connection.SearchIDTableElement(VOCABULARY_NAME, element)); }
public AvailabilityExtremistTextResult(double _usindProbability, ExtremistText _usingExtremistText, List <int> _usingWordsStartLocation, List <int> _usingWordsLastLocation) { usindProbability = _usindProbability; usingExtremistText = _usingExtremistText; usingWordsStartLocation = _usingWordsStartLocation; usingWordsLastLocation = _usingWordsLastLocation; }
/* * Переопределение функции сравнения двух объектов класса ExtremistText. */ public override bool Equals(object obj) { if (obj == null || GetType() != obj.GetType()) { return(false); } ExtremistText extremistText = (ExtremistText)obj; return((this.startWords == extremistText.startWords) && (this.endWords == extremistText.endWords) && (this.fullText == extremistText.fullText)); }
/// <summary> /// Обработчик нажатия кнопки "Удалить" для удаления экстремисткого текста из базы данных /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonDeleteTextDB_Click(object sender, EventArgs e) { ExtremistText text = textVocabulary.texts[dataGridViewSourse.CurrentRow.Index]; if (textVocabulary.DeleteExtremistText(text)) { UpdateTableTextVocubulary(); MessageBox.Show("Текст успешно удален из базы данных.", "Сообщение об удалении текста"); } else { MessageBox.Show("Невозможно удалить текст.", "Сообщение об удалении текста"); } }
/* * Функция удаления экстремистского текста из словаря. * deleteExtremistText - экстремистский текст, который удаляется из словаря. */ public bool DeleteExtremistText(ExtremistText deleteExtremistText) { if (SearchExtremistText(deleteExtremistText)) { MicrosoftSQLConnection connection = new MicrosoftSQLConnection(); bool deleteElement = false; if (connection.IsOpenConnection()) { string IDElement = "text_id = " + SearchExtremistTextID(deleteExtremistText, connection); deleteElement = connection.DeleteTableElement(VOCABULARY_NAME, IDElement); } connection.CloseConnection(); LoadVocabulary(); return(deleteElement); } else { return(false); } }
/* * Функция добавления нового экстремистского текста в словарь. * addExtremistText - экстремистский текст, который необходимо добавить в словарь. */ public bool AddExtremistText(ExtremistText addExtremistText) { if (!SearchExtremistText(addExtremistText)) { MicrosoftSQLConnection connection = new MicrosoftSQLConnection(); bool addElement = false; if (connection.IsOpenConnection()) { string values = "(SELECT 1 + MAX(text_id) FROM " + VOCABULARY_NAME + "), N'" + addExtremistText.startWords + "', N'" + addExtremistText.endWords + "', N'" + addExtremistText.fullText + "'"; addElement = connection.AddTableElement(VOCABULARY_NAME, values); } connection.CloseConnection(); LoadVocabulary(); return(addElement); } else { return(false); } }
/* * Функция изменения экстремистского текста в словаре. * enterExtremistText - экстремистский текст, на который изменяется исходный текст. * updateExtremistText - экстремистский текст, который изменяется в словаре. */ public bool UpdateExtremistText(ExtremistText enterExtremistText, ExtremistText updateExtremistText) { if (SearchExtremistText(updateExtremistText)) { MicrosoftSQLConnection connection = new MicrosoftSQLConnection(); bool updateElement = false; if (connection.IsOpenConnection()) { string set = "start_text = N'" + enterExtremistText.startWords + "', finish_text = N'" + enterExtremistText.endWords + "', full_text = N'" + enterExtremistText.fullText + "'"; string IDElement = "text_id = " + SearchExtremistTextID(updateExtremistText, connection); updateElement = connection.UpdateTableElement(VOCABULARY_NAME, set, IDElement); } connection.CloseConnection(); LoadVocabulary(); return(updateElement); } else { return(false); } }
/* * Функция, которая проверяет, существует ли экстремистский текст в словаре. * searchExtremistText - экстремистский текст, который проверяется на существование в словаре. */ private bool SearchExtremistText(ExtremistText searchExtremistText) { return(texts.IndexOf(searchExtremistText) >= 0); }