187 lines
6.3 KiB
C#
187 lines
6.3 KiB
C#
|
using Subd_4.BindingModels;
|
|||
|
using Subd_4.BusinessLogicContracts;
|
|||
|
using Subd_4.SearchModels;
|
|||
|
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 viewmodel
|
|||
|
{
|
|||
|
public partial class FormConstructionMaterials : Form
|
|||
|
{
|
|||
|
private readonly IConstructionMaterialLogic _logic;
|
|||
|
|
|||
|
public FormConstructionMaterials(IConstructionMaterialLogic logic)
|
|||
|
{
|
|||
|
InitializeComponent();
|
|||
|
_logic = logic;
|
|||
|
}
|
|||
|
|
|||
|
private void FormMenus_Load(object sender, EventArgs e)
|
|||
|
{
|
|||
|
LoadData();
|
|||
|
}
|
|||
|
|
|||
|
private void LoadData()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
var list = _logic.ReadList(null);
|
|||
|
if (list != null)
|
|||
|
{
|
|||
|
dataGridView.DataSource = list;
|
|||
|
dataGridView.Columns["Id"].Visible = false;
|
|||
|
dataGridView.Columns["MaterialName"].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(FormConstructionMaterial));
|
|||
|
if (service is FormConstructionMaterial 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(FormConstructionMaterial));
|
|||
|
if (service is FormConstructionMaterial 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 ConstructionMaterialBindingModel { Id = id }))
|
|||
|
{
|
|||
|
throw new Exception("Ошибка при удалении. Доп информация в логах");
|
|||
|
}
|
|||
|
LoadData();
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void button1_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
DateTime start = DateTime.Now;
|
|||
|
for (int i = 0; i < 1000; i++)
|
|||
|
{
|
|||
|
var operationResult = _logic.Create(new ConstructionMaterialBindingModel
|
|||
|
{
|
|||
|
MaterialName = "dfdfd",
|
|||
|
Cost = 12312,
|
|||
|
Quantity = 12131
|
|||
|
});
|
|||
|
}
|
|||
|
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 ConstructionMaterialSearchModel
|
|||
|
{
|
|||
|
Id = id
|
|||
|
});
|
|||
|
for (int i = id; i < id + 1000; i++)
|
|||
|
{
|
|||
|
var operationResult = _logic.Update(new ConstructionMaterialBindingModel
|
|||
|
{
|
|||
|
Id = i,
|
|||
|
MaterialName = "dfdfd",
|
|||
|
Cost = 12312,
|
|||
|
Quantity = 12131
|
|||
|
});
|
|||
|
|
|||
|
}
|
|||
|
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 ConstructionMaterialSearchModel
|
|||
|
{
|
|||
|
Id = id
|
|||
|
});
|
|||
|
for (int i = id; i < id + 1000; i++)
|
|||
|
{
|
|||
|
var operationResult = _logic.Delete(new ConstructionMaterialBindingModel
|
|||
|
{
|
|||
|
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);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|