using database; 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 Forms { public partial class FormEmployees : Form { private Abstractions bd; public FormEmployees(Abstractions _bd) { InitializeComponent(); bd = _bd; } private void loadData() { // Получаем список сотрудников List employees = bd.GetEmployees(); // Очищаем dataGridView перед заполнением новыми данными dataGridView.Rows.Clear(); // Предварительно определяем столбцы, если это не было сделано ранее if (dataGridView.ColumnCount == 0) { dataGridView.Columns.Add("Id", "ID"); dataGridView.Columns.Add("Name", "Name"); dataGridView.Columns.Add("Surname", "Surname"); dataGridView.Columns.Add("Position", "Position"); dataGridView.Columns.Add("Timework", "Timework"); dataGridView.Columns.Add("Seniority", "Seniority"); dataGridView.Columns.Add("CostPerHour", "CostPerHour"); } // Заполняем dataGridView данными из списка сотрудников foreach (Employee employee in employees) { dataGridView.Rows.Add(employee.Id, employee.Name, employee.Surname, employee.Position, employee.Timework, employee.Seniority, employee.CostPerHour); } } // Создание новой записи сотрудника private void buttonCreate_Click(object sender, EventArgs e) { Employee newEmployee = new Employee { Name = textBoxName.Text, Surname = textBoxSurnName.Text, Position = textBoxPosition.Text, Timework = textBoxTimeWork.Text, Seniority = textBoxSeniority.Text, CostPerHour = decimal.Parse(textBoxCostPerHour.Text) }; bd.AddEmployee(newEmployee); // Обновляем отображение данных loadData(); // Очищаем текстовые поля после добавления сотрудника } // Обновление выбранной записи сотрудника private void buttonUpdate_Click(object sender, EventArgs e) { if (dataGridView.SelectedRows.Count > 0) { DataGridViewRow row = dataGridView.SelectedRows[0]; int employeeId = Convert.ToInt32(row.Cells["Id"].Value); Employee updatedEmployee = new Employee { Id = employeeId, Name = textBoxName.Text, Surname = textBoxSurnName.Text, Position = textBoxPosition.Text, Timework = textBoxTimeWork.Text, Seniority = textBoxSeniority.Text, CostPerHour = decimal.Parse(textBoxCostPerHour.Text) }; bd.UpdateEmployee(updatedEmployee); // Обновляем отображение данных loadData(); } } // Удаление выбранной записи сотрудника private void buttonDelete_Click(object sender, EventArgs e) { if (dataGridView.SelectedRows.Count > 0) { DataGridViewRow row = dataGridView.SelectedRows[0]; int employeeId = Convert.ToInt32(row.Cells["Id"].Value); bd.DeleteEmployee(employeeId); // Обновляем отображение данных loadData(); } } private void FormEmployees_Load(object sender, EventArgs e) { loadData(); } private void dataGridView_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex >= 0) { DataGridViewRow row = dataGridView.Rows[e.RowIndex]; textBoxName.Text = row.Cells["Name"].Value.ToString(); textBoxSurnName.Text = row.Cells["Surname"].Value.ToString(); textBoxPosition.Text = row.Cells["Position"].Value.ToString(); textBoxTimeWork.Text = row.Cells["Timework"].Value.ToString(); textBoxSeniority.Text = row.Cells["Seniority"].Value.ToString(); textBoxCostPerHour.Text = row.Cells["CostPerHour"].Value.ToString(); } } } }