200 lines
6.8 KiB
C#
200 lines
6.8 KiB
C#
using Microsoft.EntityFrameworkCore.Diagnostics;
|
|
using HotelContracts.BindingModels;
|
|
using HotelContracts.BusinessLogicsContracts;
|
|
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;
|
|
using HotelContracts.SearchModels;
|
|
|
|
namespace HotelView
|
|
{
|
|
public partial class FormWorkers : Form
|
|
{
|
|
private readonly IWorkerLogic _logic;
|
|
private readonly IPostLogic _logicP;
|
|
public FormWorkers(IWorkerLogic logic, IPostLogic logicP)
|
|
{
|
|
InitializeComponent();
|
|
_logic = logic;
|
|
_logicP = logicP;
|
|
}
|
|
|
|
private void LoadData()
|
|
{
|
|
try
|
|
{
|
|
var list = _logic.ReadList(null);
|
|
if (list != null)
|
|
{
|
|
dataGridView.DataSource = list;
|
|
dataGridView.Columns["Id"].Visible = false;
|
|
dataGridView.Columns["PostId"].Visible = false;
|
|
dataGridView.Columns["PostName"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
}
|
|
}
|
|
|
|
private void buttonAdd_Click(object sender, EventArgs e)
|
|
{
|
|
var service = Program.ServiceProvider?.GetService(typeof(FormWorker));
|
|
if (service is FormWorker form)
|
|
{
|
|
if (form.ShowDialog() == DialogResult.OK)
|
|
{
|
|
LoadData();
|
|
}
|
|
}
|
|
}
|
|
|
|
private void buttonUpd_Click(object sender, EventArgs e)
|
|
{
|
|
if (dataGridView.SelectedRows.Count == 1)
|
|
{
|
|
var service = Program.ServiceProvider?.GetService(typeof(FormWorker));
|
|
if (service is FormWorker form)
|
|
{
|
|
form.Id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value);
|
|
if (form.ShowDialog() == DialogResult.OK)
|
|
{
|
|
LoadData();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
private void buttonDel_Click(object sender, EventArgs e)
|
|
{
|
|
if (dataGridView.SelectedRows.Count == 1)
|
|
{
|
|
if (MessageBox.Show("Удалить запись?", "Вопрос", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
|
{
|
|
int id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value);
|
|
try
|
|
{
|
|
if (!_logic.Delete(new WorkerBindingModel { Id = id }))
|
|
{
|
|
throw new Exception("Ошибка при удалении. Доп информация в логах");
|
|
}
|
|
LoadData();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
private void FormWorkers_Load(object sender, EventArgs e)
|
|
{
|
|
LoadData();
|
|
}
|
|
|
|
private void button1_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
DateTime start = DateTime.Now;
|
|
var element = _logicP.ReadElement(new PostSearchModel
|
|
{
|
|
PostName = "Горничная"
|
|
});
|
|
for (int i = 0; i < 1000; i++)
|
|
{
|
|
var operationResult = _logic.Create(new WorkerBindingModel
|
|
{
|
|
PostId = element?.Id ?? 0,
|
|
FIO = "Паша Пашок Паша",
|
|
DateOfBirth =DateTime.Now,
|
|
WorkExperience = 10,
|
|
Salary = 1024,
|
|
Phone = "52354347356"
|
|
});
|
|
}
|
|
DateTime stop = DateTime.Now;
|
|
LoadData();
|
|
MessageBox.Show((stop - start).Milliseconds.ToString(), "Test", MessageBoxButtons.OK);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK,
|
|
MessageBoxIcon.Error);
|
|
}
|
|
}
|
|
|
|
private void button2_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
DateTime start = DateTime.Now;
|
|
int id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value);
|
|
var element = _logic.ReadElement(new WorkerSearchModel
|
|
{
|
|
Id = id
|
|
});
|
|
for (int i = id; i < id + 1000; i++)
|
|
{
|
|
var operationResult = _logic.Delete(new WorkerBindingModel
|
|
{
|
|
Id = i,
|
|
});
|
|
|
|
}
|
|
DateTime stop = DateTime.Now;
|
|
LoadData();
|
|
MessageBox.Show((stop - start).Milliseconds.ToString(), "Test", MessageBoxButtons.OK);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK,
|
|
MessageBoxIcon.Error);
|
|
}
|
|
}
|
|
|
|
private void button3_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
DateTime start = DateTime.Now;
|
|
int id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value);
|
|
var element = _logic.ReadElement(new WorkerSearchModel
|
|
{
|
|
Id = id
|
|
});
|
|
for (int i = id; i < id + 1000; i++)
|
|
{
|
|
var operationResult = _logic.Update(new WorkerBindingModel
|
|
{
|
|
Id = i,
|
|
PostId = element?.Id ?? 0,
|
|
FIO = "Паша)",
|
|
DateOfBirth = DateTime.Now,
|
|
WorkExperience = 5,
|
|
Salary = 666,
|
|
Phone = "Норм номер"
|
|
});
|
|
|
|
}
|
|
DateTime stop = DateTime.Now;
|
|
LoadData();
|
|
MessageBox.Show((stop - start).Milliseconds.ToString(), "Test", MessageBoxButtons.OK);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK,
|
|
MessageBoxIcon.Error);
|
|
}
|
|
}
|
|
}
|
|
}
|