134 lines
5.1 KiB
C#
134 lines
5.1 KiB
C#
using database;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Data;
|
||
using System.Drawing;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
using System.Windows.Forms;
|
||
|
||
namespace Forms
|
||
{
|
||
public partial class FormComponent : Form
|
||
{
|
||
private Abstractions bd;
|
||
public FormComponent(Abstractions _bd)
|
||
{
|
||
InitializeComponent();
|
||
bd = _bd;
|
||
}
|
||
private void loadData()
|
||
{
|
||
// Получаем список компонентов
|
||
List<Component> components = bd.GetComponents();
|
||
|
||
// Очищаем dataGridView перед заполнением новыми данными
|
||
dataGridView.Rows.Clear();
|
||
|
||
// Предварительно определяем столбцы, если это не было сделано ранее
|
||
if (dataGridView.ColumnCount == 0)
|
||
{
|
||
dataGridView.Columns.Add("Id", "ID");
|
||
dataGridView.Columns.Add("Title", "Title");
|
||
dataGridView.Columns.Add("CountSklad", "CountSklad");
|
||
dataGridView.Columns.Add("Price", "Price");
|
||
dataGridView.Columns.Add("Manufacturer", "Manufacturer");
|
||
}
|
||
|
||
// Заполняем dataGridView данными из списка компонентов
|
||
foreach (Component component in components)
|
||
{
|
||
dataGridView.Rows.Add(component.Id, component.Title, component.CountSklad, component.Price, component.Manufacturer);
|
||
}
|
||
|
||
}
|
||
|
||
private void buttonCreate_Click(object sender, EventArgs e)
|
||
{
|
||
// Создаем новый объект Component и заполняем его данными из текстовых полей
|
||
Component newComponent = new Component
|
||
{
|
||
Title = textBoxTitle.Text,
|
||
CountSklad = textBoxCountSklad.Text,
|
||
Price = double.Parse(textBoxPrice.Text),
|
||
Manufacturer = textBoxManufacturer.Text
|
||
};
|
||
|
||
// Вызываем метод добавления нового компонента в базу данных
|
||
bd.AddComponent(newComponent);
|
||
|
||
// Перезагружаем данные в dataGridView
|
||
loadData();
|
||
}
|
||
|
||
private void buttonUpdate_Click(object sender, EventArgs e)
|
||
{
|
||
if (dataGridView.SelectedRows.Count > 0)
|
||
{
|
||
// Получаем выбранный компонент из dataGridView
|
||
DataGridViewRow selectedRow = dataGridView.SelectedRows[0];
|
||
int componentId = Convert.ToInt32(selectedRow.Cells["Id"].Value);
|
||
|
||
// Создаем объект Component с обновленными данными из текстовых полей
|
||
Component updatedComponent = new Component
|
||
{
|
||
Id = componentId,
|
||
Title = textBoxTitle.Text,
|
||
CountSklad = textBoxCountSklad.Text,
|
||
Price = double.Parse(textBoxPrice.Text),
|
||
Manufacturer = textBoxManufacturer.Text
|
||
};
|
||
|
||
// Вызываем метод обновления компонента в базе данных
|
||
bd.UpdateComponent(updatedComponent);
|
||
|
||
// Перезагружаем данные в dataGridView
|
||
loadData();
|
||
}
|
||
else
|
||
{
|
||
MessageBox.Show("Please select a branch to update.");
|
||
}
|
||
}
|
||
|
||
private void buttonDelete_Click(object sender, EventArgs e)
|
||
{
|
||
if (dataGridView.SelectedRows.Count > 0)
|
||
{
|
||
// Получаем выбранный компонент из dataGridView
|
||
DataGridViewRow selectedRow = dataGridView.SelectedRows[0];
|
||
int componentId = Convert.ToInt32(selectedRow.Cells["Id"].Value);
|
||
|
||
// Вызываем метод удаления компонентa из базы данных
|
||
bd.DeleteComponent(componentId);
|
||
|
||
// Перезагружаем данные в dataGridView
|
||
loadData();
|
||
}
|
||
else
|
||
{
|
||
MessageBox.Show("Please select a branch to delete.");
|
||
}
|
||
}
|
||
|
||
private void dataGridView_CellClick(object sender, DataGridViewCellEventArgs e)
|
||
{
|
||
if (e.RowIndex >= 0)
|
||
{
|
||
DataGridViewRow row = dataGridView.Rows[e.RowIndex];
|
||
|
||
textBoxTitle.Text = row.Cells["Title"].Value.ToString();
|
||
textBoxCountSklad.Text = row.Cells["CountSklad"].Value.ToString();
|
||
textBoxPrice.Text = row.Cells["Price"].Value.ToString();
|
||
textBoxManufacturer.Text = row.Cells["Manufacturer"].Value.ToString();
|
||
}
|
||
}
|
||
|
||
private void FormComponent_Load(object sender, EventArgs e)
|
||
{
|
||
loadData();
|
||
}
|
||
}
|
||
}
|