4 лаба
This commit is contained in:
parent
c983d6aa31
commit
67cf4fa5b4
12
BeautySalon/FormMain.Designer.cs
generated
12
BeautySalon/FormMain.Designer.cs
generated
@ -36,6 +36,7 @@
|
|||||||
this.dataGridView = new System.Windows.Forms.DataGridView();
|
this.dataGridView = new System.Windows.Forms.DataGridView();
|
||||||
this.buttonCreateVisit = new System.Windows.Forms.Button();
|
this.buttonCreateVisit = new System.Windows.Forms.Button();
|
||||||
this.buttonRef = new System.Windows.Forms.Button();
|
this.buttonRef = new System.Windows.Forms.Button();
|
||||||
|
this.тестToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuStrip1.SuspendLayout();
|
this.menuStrip1.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.dataGridView)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.dataGridView)).BeginInit();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
@ -43,7 +44,8 @@
|
|||||||
// menuStrip1
|
// menuStrip1
|
||||||
//
|
//
|
||||||
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.справочникиToolStripMenuItem});
|
this.справочникиToolStripMenuItem,
|
||||||
|
this.тестToolStripMenuItem});
|
||||||
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
|
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
|
||||||
this.menuStrip1.Name = "menuStrip1";
|
this.menuStrip1.Name = "menuStrip1";
|
||||||
this.menuStrip1.Size = new System.Drawing.Size(1078, 24);
|
this.menuStrip1.Size = new System.Drawing.Size(1078, 24);
|
||||||
@ -110,6 +112,13 @@
|
|||||||
this.buttonRef.UseVisualStyleBackColor = true;
|
this.buttonRef.UseVisualStyleBackColor = true;
|
||||||
this.buttonRef.Click += new System.EventHandler(this.ButtonRef_Click);
|
this.buttonRef.Click += new System.EventHandler(this.ButtonRef_Click);
|
||||||
//
|
//
|
||||||
|
// тестToolStripMenuItem
|
||||||
|
//
|
||||||
|
this.тестToolStripMenuItem.Name = "тестToolStripMenuItem";
|
||||||
|
this.тестToolStripMenuItem.Size = new System.Drawing.Size(42, 20);
|
||||||
|
this.тестToolStripMenuItem.Text = "Тест";
|
||||||
|
this.тестToolStripMenuItem.Click += new System.EventHandler(this.ТестToolStripMenuItem_Click);
|
||||||
|
//
|
||||||
// FormMain
|
// FormMain
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
|
||||||
@ -141,5 +150,6 @@
|
|||||||
private DataGridView dataGridView;
|
private DataGridView dataGridView;
|
||||||
private Button buttonCreateVisit;
|
private Button buttonCreateVisit;
|
||||||
private Button buttonRef;
|
private Button buttonRef;
|
||||||
|
private ToolStripMenuItem тестToolStripMenuItem;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -85,5 +85,14 @@ namespace BeautySalon
|
|||||||
MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void ТестToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
var service = Program.ServiceProvider?.GetService(typeof(FormTests));
|
||||||
|
if (service is FormTests form)
|
||||||
|
{
|
||||||
|
form.ShowDialog();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
135
BeautySalon/FormTests.Designer.cs
generated
135
BeautySalon/FormTests.Designer.cs
generated
@ -28,12 +28,141 @@
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
this.components = new System.ComponentModel.Container();
|
this.buttonInsertTest = new System.Windows.Forms.Button();
|
||||||
|
this.label1 = new System.Windows.Forms.Label();
|
||||||
|
this.label2 = new System.Windows.Forms.Label();
|
||||||
|
this.textBoxInsertTime = new System.Windows.Forms.TextBox();
|
||||||
|
this.buttonReadTest = new System.Windows.Forms.Button();
|
||||||
|
this.textBoxReadTime = new System.Windows.Forms.TextBox();
|
||||||
|
this.label3 = new System.Windows.Forms.Label();
|
||||||
|
this.label4 = new System.Windows.Forms.Label();
|
||||||
|
this.numericUpDownInsert = new System.Windows.Forms.NumericUpDown();
|
||||||
|
this.numericUpDownRead = new System.Windows.Forms.NumericUpDown();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.numericUpDownInsert)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.numericUpDownRead)).BeginInit();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// buttonInsertTest
|
||||||
|
//
|
||||||
|
this.buttonInsertTest.Location = new System.Drawing.Point(12, 12);
|
||||||
|
this.buttonInsertTest.Name = "buttonInsertTest";
|
||||||
|
this.buttonInsertTest.Size = new System.Drawing.Size(86, 61);
|
||||||
|
this.buttonInsertTest.TabIndex = 0;
|
||||||
|
this.buttonInsertTest.Text = "Тест вставки";
|
||||||
|
this.buttonInsertTest.UseVisualStyleBackColor = true;
|
||||||
|
this.buttonInsertTest.Click += new System.EventHandler(this.ButtonInsertTest_Click);
|
||||||
|
//
|
||||||
|
// label1
|
||||||
|
//
|
||||||
|
this.label1.AutoSize = true;
|
||||||
|
this.label1.Location = new System.Drawing.Point(104, 12);
|
||||||
|
this.label1.Name = "label1";
|
||||||
|
this.label1.Size = new System.Drawing.Size(156, 15);
|
||||||
|
this.label1.TabIndex = 1;
|
||||||
|
this.label1.Text = "Введите кол-во элементов:";
|
||||||
|
//
|
||||||
|
// label2
|
||||||
|
//
|
||||||
|
this.label2.AutoSize = true;
|
||||||
|
this.label2.Location = new System.Drawing.Point(104, 53);
|
||||||
|
this.label2.Name = "label2";
|
||||||
|
this.label2.Size = new System.Drawing.Size(146, 15);
|
||||||
|
this.label2.TabIndex = 3;
|
||||||
|
this.label2.Text = "Итоговое время запроса:";
|
||||||
|
//
|
||||||
|
// textBoxInsertTime
|
||||||
|
//
|
||||||
|
this.textBoxInsertTime.Location = new System.Drawing.Point(266, 50);
|
||||||
|
this.textBoxInsertTime.Name = "textBoxInsertTime";
|
||||||
|
this.textBoxInsertTime.ReadOnly = true;
|
||||||
|
this.textBoxInsertTime.Size = new System.Drawing.Size(100, 23);
|
||||||
|
this.textBoxInsertTime.TabIndex = 4;
|
||||||
|
//
|
||||||
|
// buttonReadTest
|
||||||
|
//
|
||||||
|
this.buttonReadTest.Location = new System.Drawing.Point(12, 106);
|
||||||
|
this.buttonReadTest.Name = "buttonReadTest";
|
||||||
|
this.buttonReadTest.Size = new System.Drawing.Size(86, 56);
|
||||||
|
this.buttonReadTest.TabIndex = 5;
|
||||||
|
this.buttonReadTest.Text = "Тест чтения";
|
||||||
|
this.buttonReadTest.UseVisualStyleBackColor = true;
|
||||||
|
this.buttonReadTest.Click += new System.EventHandler(this.ButtonReadTest_Click);
|
||||||
|
//
|
||||||
|
// textBoxReadTime
|
||||||
|
//
|
||||||
|
this.textBoxReadTime.Location = new System.Drawing.Point(266, 144);
|
||||||
|
this.textBoxReadTime.Name = "textBoxReadTime";
|
||||||
|
this.textBoxReadTime.ReadOnly = true;
|
||||||
|
this.textBoxReadTime.Size = new System.Drawing.Size(100, 23);
|
||||||
|
this.textBoxReadTime.TabIndex = 9;
|
||||||
|
//
|
||||||
|
// label3
|
||||||
|
//
|
||||||
|
this.label3.AutoSize = true;
|
||||||
|
this.label3.Location = new System.Drawing.Point(104, 147);
|
||||||
|
this.label3.Name = "label3";
|
||||||
|
this.label3.Size = new System.Drawing.Size(146, 15);
|
||||||
|
this.label3.TabIndex = 8;
|
||||||
|
this.label3.Text = "Итоговое время запроса:";
|
||||||
|
//
|
||||||
|
// label4
|
||||||
|
//
|
||||||
|
this.label4.AutoSize = true;
|
||||||
|
this.label4.Location = new System.Drawing.Point(104, 106);
|
||||||
|
this.label4.Name = "label4";
|
||||||
|
this.label4.Size = new System.Drawing.Size(156, 15);
|
||||||
|
this.label4.TabIndex = 6;
|
||||||
|
this.label4.Text = "Введите кол-во элементов:";
|
||||||
|
//
|
||||||
|
// numericUpDownInsert
|
||||||
|
//
|
||||||
|
this.numericUpDownInsert.Location = new System.Drawing.Point(266, 10);
|
||||||
|
this.numericUpDownInsert.Name = "numericUpDownInsert";
|
||||||
|
this.numericUpDownInsert.Size = new System.Drawing.Size(100, 23);
|
||||||
|
this.numericUpDownInsert.TabIndex = 10;
|
||||||
|
//
|
||||||
|
// numericUpDownRead
|
||||||
|
//
|
||||||
|
this.numericUpDownRead.Location = new System.Drawing.Point(266, 104);
|
||||||
|
this.numericUpDownRead.Name = "numericUpDownRead";
|
||||||
|
this.numericUpDownRead.Size = new System.Drawing.Size(100, 23);
|
||||||
|
this.numericUpDownRead.TabIndex = 11;
|
||||||
|
//
|
||||||
|
// FormTests
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.ClientSize = new System.Drawing.Size(800, 450);
|
this.ClientSize = new System.Drawing.Size(383, 182);
|
||||||
this.Text = "FormTests";
|
this.Controls.Add(this.numericUpDownRead);
|
||||||
|
this.Controls.Add(this.numericUpDownInsert);
|
||||||
|
this.Controls.Add(this.textBoxReadTime);
|
||||||
|
this.Controls.Add(this.label3);
|
||||||
|
this.Controls.Add(this.label4);
|
||||||
|
this.Controls.Add(this.buttonReadTest);
|
||||||
|
this.Controls.Add(this.textBoxInsertTime);
|
||||||
|
this.Controls.Add(this.label2);
|
||||||
|
this.Controls.Add(this.label1);
|
||||||
|
this.Controls.Add(this.buttonInsertTest);
|
||||||
|
this.Name = "FormTests";
|
||||||
|
this.Text = "Тесты запросов к бд";
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.numericUpDownInsert)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.numericUpDownRead)).EndInit();
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
this.PerformLayout();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
private Button buttonInsertTest;
|
||||||
|
private Label label1;
|
||||||
|
private Label label2;
|
||||||
|
private TextBox textBoxInsertTime;
|
||||||
|
private Button buttonReadTest;
|
||||||
|
private TextBox textBoxReadTime;
|
||||||
|
private Label label3;
|
||||||
|
private Label label4;
|
||||||
|
private NumericUpDown numericUpDownInsert;
|
||||||
|
private NumericUpDown numericUpDownRead;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,20 +1,45 @@
|
|||||||
using System;
|
using BeautySalonContracts.BusinessLogicsContracts;
|
||||||
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 BeautySalon
|
namespace BeautySalon
|
||||||
{
|
{
|
||||||
public partial class FormTests : Form
|
public partial class FormTests : Form
|
||||||
{
|
{
|
||||||
public FormTests()
|
private readonly IMasterLogic _masterLogic;
|
||||||
|
public FormTests(IMasterLogic masterLogic)
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
_masterLogic = masterLogic;
|
||||||
|
numericUpDownInsert.Minimum = 1;
|
||||||
|
numericUpDownInsert.Maximum = 1000000;
|
||||||
|
numericUpDownRead.Minimum = 1;
|
||||||
|
numericUpDownRead.Maximum = 1000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ButtonInsertTest_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var result = _masterLogic.TestInsertList(Convert.ToInt32(numericUpDownInsert.Value));
|
||||||
|
|
||||||
|
textBoxInsertTime.Text = result;
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ButtonReadTest_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var result = _masterLogic.TestReadList(Convert.ToInt32(numericUpDownRead.Value));
|
||||||
|
textBoxReadTime.Text = result;
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,64 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<root>
|
||||||
<root>
|
|
||||||
<!--
|
|
||||||
Microsoft ResX Schema
|
|
||||||
|
|
||||||
Version 2.0
|
|
||||||
|
|
||||||
The primary goals of this format is to allow a simple XML format
|
|
||||||
that is mostly human readable. The generation and parsing of the
|
|
||||||
various data types are done through the TypeConverter classes
|
|
||||||
associated with the data types.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
... ado.net/XML headers & schema ...
|
|
||||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
|
||||||
<resheader name="version">2.0</resheader>
|
|
||||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
|
||||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
|
||||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
|
||||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
|
||||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
|
||||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
|
||||||
</data>
|
|
||||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
|
||||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
|
||||||
<comment>This is a comment</comment>
|
|
||||||
</data>
|
|
||||||
|
|
||||||
There are any number of "resheader" rows that contain simple
|
|
||||||
name/value pairs.
|
|
||||||
|
|
||||||
Each data row contains a name, and value. The row also contains a
|
|
||||||
type or mimetype. Type corresponds to a .NET class that support
|
|
||||||
text/value conversion through the TypeConverter architecture.
|
|
||||||
Classes that don't support this are serialized and stored with the
|
|
||||||
mimetype set.
|
|
||||||
|
|
||||||
The mimetype is used for serialized objects, and tells the
|
|
||||||
ResXResourceReader how to depersist the object. This is currently not
|
|
||||||
extensible. For a given mimetype the value must be set accordingly:
|
|
||||||
|
|
||||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
|
||||||
that the ResXResourceWriter will generate, however the reader can
|
|
||||||
read any of the formats listed below.
|
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.binary.base64
|
|
||||||
value : The object must be serialized with
|
|
||||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
|
||||||
: and then encoded with base64 encoding.
|
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.soap.base64
|
|
||||||
value : The object must be serialized with
|
|
||||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
|
||||||
: and then encoded with base64 encoding.
|
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
|
||||||
value : The object must be serialized into a byte array
|
|
||||||
: using a System.ComponentModel.TypeConverter
|
|
||||||
: and then encoded with base64 encoding.
|
|
||||||
-->
|
|
||||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
<xsd:element name="root" msdata:IsDataSet="true">
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
@ -47,7 +47,8 @@ namespace BeautySalon
|
|||||||
services.AddTransient<FormMasters>();
|
services.AddTransient<FormMasters>();
|
||||||
services.AddTransient<FormClient>();
|
services.AddTransient<FormClient>();
|
||||||
services.AddTransient<FormClients>();
|
services.AddTransient<FormClients>();
|
||||||
services.AddTransient<FormMasterService>();
|
services.AddTransient<FormMasterService>();
|
||||||
|
services.AddTransient<FormTests>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -4,6 +4,7 @@ using BeautySalonContracts.SearchModels;
|
|||||||
using BeautySalonContracts.StoragesContracts;
|
using BeautySalonContracts.StoragesContracts;
|
||||||
using BeautySalonContracts.ViewModels;
|
using BeautySalonContracts.ViewModels;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
using System;
|
||||||
|
|
||||||
namespace BeautySalonBusinessLogic.BusinessLogics
|
namespace BeautySalonBusinessLogic.BusinessLogics
|
||||||
{
|
{
|
||||||
@ -103,5 +104,15 @@ namespace BeautySalonBusinessLogic.BusinessLogics
|
|||||||
throw new InvalidOperationException("Мастер с таким ФИО уже есть");
|
throw new InvalidOperationException("Мастер с таким ФИО уже есть");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public string TestInsertList(int v)
|
||||||
|
{
|
||||||
|
return _masterStorage.TestInsertList(v);
|
||||||
|
}
|
||||||
|
|
||||||
|
public string TestReadList(int v)
|
||||||
|
{
|
||||||
|
return _masterStorage.TestReadList(v);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,9 @@ using BeautySalonContracts.ViewModels;
|
|||||||
using BeautySalonDatabaseImplement;
|
using BeautySalonDatabaseImplement;
|
||||||
using BeautySalonDatabaseImplement.Models;
|
using BeautySalonDatabaseImplement.Models;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System;
|
||||||
|
using BeautySalonDataModels.Models;
|
||||||
|
|
||||||
namespace BeautySalonDatabaseImplement.Implements
|
namespace BeautySalonDatabaseImplement.Implements
|
||||||
{
|
{
|
||||||
@ -101,5 +104,81 @@ namespace BeautySalonDatabaseImplement.Implements
|
|||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public string TestInsertList(int v)
|
||||||
|
{
|
||||||
|
var context = new BeautySalonDatabase();
|
||||||
|
Stopwatch servicewatch = new();
|
||||||
|
Random rnd = new Random();
|
||||||
|
long[] res = new long[v * 2];
|
||||||
|
|
||||||
|
|
||||||
|
for (int i = 0; i < v; ++i)
|
||||||
|
{
|
||||||
|
int rndId = rnd.Next();
|
||||||
|
var model = new ServiceBindingModel
|
||||||
|
{
|
||||||
|
Id = rndId,
|
||||||
|
ServiceName = "Service" + rndId.ToString(),
|
||||||
|
Cost = rnd.Next(),
|
||||||
|
};
|
||||||
|
context.Services.Add(Service.Create(model));
|
||||||
|
servicewatch.Start();
|
||||||
|
context.SaveChanges();
|
||||||
|
servicewatch.Stop();
|
||||||
|
res[i] = servicewatch.ElapsedMilliseconds;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < v; ++i)
|
||||||
|
{
|
||||||
|
int rndId = rnd.Next();
|
||||||
|
var model = new MasterBindingModel
|
||||||
|
{
|
||||||
|
Id = rndId,
|
||||||
|
MasterFIO = "Master" + rndId.ToString(),
|
||||||
|
Wage = rnd.Next(),
|
||||||
|
};
|
||||||
|
context.Masters.Add(Master.Create(context, model));
|
||||||
|
servicewatch.Start();
|
||||||
|
context.SaveChanges();
|
||||||
|
servicewatch.Stop();
|
||||||
|
res[i] = servicewatch.ElapsedMilliseconds;
|
||||||
|
}
|
||||||
|
|
||||||
|
long sum = 0;
|
||||||
|
for (int i = 0; i < v; i++)
|
||||||
|
{
|
||||||
|
sum += res[i];
|
||||||
|
}
|
||||||
|
int result = Convert.ToInt32(sum / v);
|
||||||
|
return result.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public string TestReadList(int v)
|
||||||
|
{
|
||||||
|
var context = new BeautySalonDatabase();
|
||||||
|
Stopwatch servicewatch = new();
|
||||||
|
long[] res = new long[v];
|
||||||
|
|
||||||
|
for (int i = 0; i < v; i++)
|
||||||
|
{
|
||||||
|
|
||||||
|
servicewatch.Start();
|
||||||
|
List<MasterViewModel> list = context.Masters
|
||||||
|
.Include(x => x.Services)
|
||||||
|
.ThenInclude(x => x.Service).ToList()
|
||||||
|
.Select(x => x.GetViewModel).ToList();
|
||||||
|
servicewatch.Stop();
|
||||||
|
res[i] = servicewatch.ElapsedMilliseconds;
|
||||||
|
}
|
||||||
|
|
||||||
|
long sum = 0;
|
||||||
|
for (int i = 0; i < v; i++)
|
||||||
|
{
|
||||||
|
sum += res[i];
|
||||||
|
}
|
||||||
|
int result = Convert.ToInt32(sum / v);
|
||||||
|
return result.ToString();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,9 +2,7 @@
|
|||||||
using BeautySalonContracts.SearchModels;
|
using BeautySalonContracts.SearchModels;
|
||||||
using BeautySalonContracts.StoragesContracts;
|
using BeautySalonContracts.StoragesContracts;
|
||||||
using BeautySalonContracts.ViewModels;
|
using BeautySalonContracts.ViewModels;
|
||||||
using BeautySalonDatabaseImplement;
|
|
||||||
using BeautySalonDatabaseImplement.Models;
|
using BeautySalonDatabaseImplement.Models;
|
||||||
using System.ServiceModel;
|
|
||||||
|
|
||||||
namespace BeautySalonDatabaseImplement.Implements
|
namespace BeautySalonDatabaseImplement.Implements
|
||||||
{
|
{
|
||||||
@ -78,6 +76,6 @@ namespace BeautySalonDatabaseImplement.Implements
|
|||||||
return element.GetViewModel;
|
return element.GetViewModel;
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -11,5 +11,7 @@ namespace BeautySalonContracts.BusinessLogicsContracts
|
|||||||
bool Create(MasterBindingModel model);
|
bool Create(MasterBindingModel model);
|
||||||
bool Update(MasterBindingModel model);
|
bool Update(MasterBindingModel model);
|
||||||
bool Delete(MasterBindingModel model);
|
bool Delete(MasterBindingModel model);
|
||||||
|
string TestInsertList(int v);
|
||||||
|
string TestReadList(int v);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,5 +12,7 @@ namespace BeautySalonContracts.StoragesContracts
|
|||||||
MasterViewModel? Insert(MasterBindingModel model);
|
MasterViewModel? Insert(MasterBindingModel model);
|
||||||
MasterViewModel? Update(MasterBindingModel model);
|
MasterViewModel? Update(MasterBindingModel model);
|
||||||
MasterViewModel? Delete(MasterBindingModel model);
|
MasterViewModel? Delete(MasterBindingModel model);
|
||||||
|
string TestInsertList(int v);
|
||||||
|
string TestReadList(int v);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user