using NewsBlogAbstractions.Models; using NewsBlogAbstractions.WorkAbstractions; using System.Security.Policy; namespace NewsBlogView { public partial class FormMain : Form { public FormMain() { InitializeComponent(); } private void articleToolStripMenuItem_Click(object sender, EventArgs e) { var service = Program.ServiceProvider?.GetService(typeof(FormArticle)); if (service is FormArticle form) { form.ShowDialog(); } } private void authorToolStripMenuItem_Click(object sender, EventArgs e) { var service = Program.ServiceProvider?.GetService(typeof(FormAuthor)); if (service is FormAuthor form) { form.ShowDialog(); } } private void categoryToolStripMenuItem_Click(object sender, EventArgs e) { var service = Program.ServiceProvider?.GetService(typeof(FormCategory)); if (service is FormCategory form) { form.ShowDialog(); } } private void commentToolStripMenuItem_Click(object sender, EventArgs e) { var service = Program.ServiceProvider?.GetService(typeof(FormComment)); if (service is FormComment form) { form.ShowDialog(); } } private void tagToolStripMenuItem_Click(object sender, EventArgs e) { var service = Program.ServiceProvider?.GetService(typeof(FormTag)); if (service is FormTag form) { form.ShowDialog(); } } private void add1000ToolStripMenuItem_Click(object sender, EventArgs e) { var service = Program.ServiceProvider?.GetService(typeof(IAuthorWork)); if (service is IAuthorWork authorLogic) { DateTime startTime = DateTime.Now; for (int i = 0; i < 1000; i++) { Author author = new() { Name = "ФИО " + i, Description = "Описание " + i, Phone = "Номер " + i }; authorLogic.Create(author); } DateTime endTime = DateTime.Now; labelTest.Text = $"Добавление 1000 строк выполнено за {(endTime - startTime).TotalMilliseconds} миллисекунд"; } } private void get1000ToolStripMenuItem_Click(object sender, EventArgs e) { var service = Program.ServiceProvider?.GetService(typeof(IAuthorWork)); if (service is IAuthorWork authorLogic) { DateTime startTime = DateTime.Now; authorLogic.GetAll(); DateTime endTime = DateTime.Now; labelTest.Text = $"Получение 1000 строк выполнено за {(endTime - startTime).TotalMilliseconds} миллисекунд"; } } private void update1000ToolStripMenuItem_Click(object sender, EventArgs e) { var service = Program.ServiceProvider?.GetService(typeof(IAuthorWork)); if (service is IAuthorWork authorLogic) { List ids = authorLogic.GetAll().Select(area => area.Id).ToList(); DateTime startTime = DateTime.Now; for (int i = 0; i < ids.Count; i++) { Author author = new() { Id = ids[i], Name = "ФИО " + i + 2000, Description = "Описание " + i + 2000, Phone = "Номер " + i + 2000 }; authorLogic.Update(author); } DateTime endTime = DateTime.Now; labelTest.Text = $"Обновление 1000 строк выполнено за {(endTime - startTime).TotalMilliseconds} миллисекунд"; } } private void delete1000ToolStripMenuItem_Click(object sender, EventArgs e) { var service = Program.ServiceProvider?.GetService(typeof(IAuthorWork)); if (service is IAuthorWork authorLogic) { List ids = authorLogic.GetAll().Select(area => area.Id).ToList(); DateTime startTime = DateTime.Now; for (int i = 0; i < ids.Count; i++) { authorLogic.Delete(ids[i]); } DateTime endTime = DateTime.Now; labelTest.Text = $"Удаление 1000 строк выполнено за {(endTime - startTime).TotalMilliseconds} миллисекунд"; } } } }