using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace AwesomeEmailExtractor { public partial class MainForm : Form { public MainForm() { InitializeComponent(); administrationToolStripMenuItem.Enabled = Globals.currentUser.Role == UserRoles.ADMIN; } private void executeButton_Click(object sender, EventArgs e) { // Получаем исходный текст из sourceRichTextBox string sourceText = sourceRichTextBox.Text; if (sourceText.Length == 0) { MessageBox.Show("Введите текст в поле исходного текста", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } // Чистим предыдущий результат toolStripStatusLabel.Text = ""; resultCountLabel.Text = ""; uniqueListBox.DataSource = null; // Объявляем список уникальных e-mail-ов List uniqueEmails = new List(); // Вызываем метод для извлечения e-mail-ов int count = ExtactEmailsAlgorithm.Extract(sourceText, out uniqueEmails); // Выводим результат toolStripStatusLabel.Text = "Успех!"; resultCountLabel.Text = $"Количество e-mail-ов в тексте: {count}"; uniqueListBox.DataSource = uniqueEmails; Logs.Log( Globals.currentUser, Logs.Action.Execute, new Dictionary() { { "sourceText", sourceText }, { "count", count }, { "uniqueEmails", uniqueEmails } }); } private void settingsToolStripMenuItem_Click(object sender, EventArgs e) { SettingsForm settingsForm = FormManager.Current.CreateForm(); settingsForm.ShowDialog(this); } private void exitToolStripMenuItem_Click(object sender, EventArgs e) { Globals.currentUser = null; AuthorizationForm authorization = FormManager.Current.CreateForm(); FormManager.Current.Navigate(this, authorization); } private void journalToolStripMenuItem_Click(object sender, EventArgs e) { JournalForm journalForm = FormManager.Current.CreateForm(); journalForm.ShowDialog(this); } private void administrationToolStripMenuItem_Click(object sender, EventArgs e) { AdministrationForm administrationForm = FormManager.Current.CreateForm(); administrationForm.ShowDialog(this); } } }