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 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(); } } }