205 lines
6.0 KiB
C#
205 lines
6.0 KiB
C#
using NewsBlogAbstractions.Models;
|
|
using NewsBlogAbstractions.WorkAbstractions;
|
|
using NewsBlogMongoDB;
|
|
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()
|
|
{
|
|
Id = i + 1000,
|
|
Name = "ÔÈÎ " + i,
|
|
Description = "Îïèñàíèå " + i,
|
|
Phone = "Íîìåð " + i
|
|
};
|
|
authorLogic.CreateId(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;
|
|
for (int i = 0; i < 1000; i++)
|
|
authorLogic.Get(i + 1000);
|
|
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)
|
|
{
|
|
DateTime startTime = DateTime.Now;
|
|
for (int i = 0; i < 1000; i++)
|
|
{
|
|
Author author = new()
|
|
{
|
|
Id = i + 1000,
|
|
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)
|
|
{
|
|
DateTime startTime = DateTime.Now;
|
|
for (int i = 0; i < 1000; i++)
|
|
{
|
|
authorLogic.Delete(i + 1000);
|
|
}
|
|
DateTime endTime = DateTime.Now;
|
|
|
|
labelTest.Text = $"Óäàëåíèå 1000 ñòðîê âûïîëíåíî çà {(endTime - startTime).TotalMilliseconds} ìèëëèñåêóíä";
|
|
}
|
|
}
|
|
|
|
private void updateMongoDBToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
ImplementationMongoDB implementationMongoDB = new();
|
|
|
|
// î÷èùàåì âñ¸
|
|
foreach (var it in implementationMongoDB.GetArticles())
|
|
implementationMongoDB.DeleteArticle(it.Id);
|
|
foreach (var it in implementationMongoDB.GetAuthors())
|
|
implementationMongoDB.DeleteAuthor(it.Id);
|
|
foreach (var it in implementationMongoDB.GetCategorys())
|
|
implementationMongoDB.DeleteCategory(it.Id);
|
|
foreach (var it in implementationMongoDB.GetComments())
|
|
implementationMongoDB.DeleteComment(it.Id);
|
|
foreach (var it in implementationMongoDB.GetTags())
|
|
implementationMongoDB.DeleteTag(it.Id);
|
|
foreach (var it in implementationMongoDB.GetSequence())
|
|
implementationMongoDB.DeleteSequence(it.Id);
|
|
|
|
// ñêà÷èâàåì èç ïîñòãðåñà
|
|
List<Article> listArticle = null;
|
|
List<Author> listAuthor = null;
|
|
List<Category> listCategory = null;
|
|
List<Comment> listComment = null;
|
|
List<Tag> listTag = null;
|
|
|
|
var service = Program.ServiceProvider?.GetService(typeof(IArticleWork));
|
|
if (service is IArticleWork articleLogic)
|
|
listArticle = articleLogic.GetAll();
|
|
|
|
service = Program.ServiceProvider?.GetService(typeof(IAuthorWork));
|
|
if (service is IAuthorWork authorLogic)
|
|
listAuthor = authorLogic.GetAll();
|
|
|
|
service = Program.ServiceProvider?.GetService(typeof(ICategoryWork));
|
|
if (service is ICategoryWork categoryLogic)
|
|
listCategory = categoryLogic.GetAll();
|
|
|
|
service = Program.ServiceProvider?.GetService(typeof(ICommentWork));
|
|
if (service is ICommentWork commentLogic)
|
|
listComment = commentLogic.GetAll();
|
|
|
|
service = Program.ServiceProvider?.GetService(typeof(ITagWork));
|
|
if (service is ITagWork tagLogic)
|
|
listTag = tagLogic.GetAll();
|
|
|
|
// âëèâàåì äàííûå ìîíãî äá
|
|
if (listAuthor != null)
|
|
foreach (var it in listAuthor)
|
|
implementationMongoDB.AddAuthor(it);
|
|
if (listCategory != null)
|
|
foreach (var it in listCategory)
|
|
implementationMongoDB.AddCategory(it);
|
|
if (listArticle != null)
|
|
foreach (var it in listArticle)
|
|
implementationMongoDB.AddArticle(it);
|
|
if (listComment != null)
|
|
foreach (var it in listComment)
|
|
implementationMongoDB.AddComment(it);
|
|
if (listTag != null)
|
|
foreach (var it in listTag)
|
|
implementationMongoDB.AddTag(it);
|
|
}
|
|
|
|
private void MongoDB_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
Program.isPostgreSQL = !Program.isPostgreSQL;
|
|
}
|
|
}
|
|
}
|