| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- using System;
- using System.Data;
- using System.Windows.Forms;
- namespace WindowsFormsApp4
- {
- public partial class ClientsForm : Form
- {
- private DataTable clientsTable;
- public ClientsForm()
- {
- InitializeComponent();
- AttachEventHandlers();
- LoadClients();
- ConfigureGrid();
- }
- private void AttachEventHandlers()
- {
- btnRefresh.Click += BtnRefresh_Click;
- btnAdd.Click += BtnAdd_Click;
- btnEdit.Click += BtnEdit_Click;
- btnDelete.Click += BtnDelete_Click;
- btnBack.Click += BtnBack_Click;
- }
- private void LoadClients()
- {
- clientsTable = DatabaseHelper.GetClients();
- dgvClients.DataSource = clientsTable;
- ConfigureGrid();
- }
- private void ConfigureGrid()
- {
- if (dgvClients.Columns.Count == 0) return;
- // Настройка заголовков
- if (dgvClients.Columns.Contains("id"))
- dgvClients.Columns["id"].HeaderText = "ID";
- if (dgvClients.Columns.Contains("last_name"))
- dgvClients.Columns["last_name"].HeaderText = "Фамилия";
- if (dgvClients.Columns.Contains("first_name"))
- dgvClients.Columns["first_name"].HeaderText = "Имя";
- if (dgvClients.Columns.Contains("middle_name"))
- dgvClients.Columns["middle_name"].HeaderText = "Отчество";
- if (dgvClients.Columns.Contains("phone"))
- dgvClients.Columns["phone"].HeaderText = "Телефон";
- // Настройка цвета строк
- dgvClients.DefaultCellStyle.BackColor = System.Drawing.Color.FromArgb(50, 56, 67);
- dgvClients.DefaultCellStyle.ForeColor = System.Drawing.Color.FromArgb(203, 232, 87);
- dgvClients.DefaultCellStyle.SelectionBackColor = System.Drawing.Color.FromArgb(198, 141, 255);
- dgvClients.DefaultCellStyle.SelectionForeColor = System.Drawing.Color.FromArgb(50, 56, 67);
- dgvClients.ColumnHeadersDefaultCellStyle.BackColor = System.Drawing.Color.FromArgb(198, 141, 255);
- dgvClients.ColumnHeadersDefaultCellStyle.ForeColor = System.Drawing.Color.FromArgb(50, 56, 67);
- dgvClients.EnableHeadersVisualStyles = false;
- dgvClients.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
- }
- private void BtnRefresh_Click(object sender, EventArgs e)
- {
- LoadClients();
- }
- private void BtnAdd_Click(object sender, EventArgs e)
- {
- ClientEditForm form = new ClientEditForm();
- if (form.ShowDialog() == DialogResult.OK)
- {
- LoadClients();
- MessageBox.Show("Клиент успешно добавлен", "Успешно",
- MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- }
- private void BtnEdit_Click(object sender, EventArgs e)
- {
- if (dgvClients.CurrentRow == null)
- {
- MessageBox.Show("Выберите клиента для редактирования", "Ошибка",
- MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return;
- }
- int clientId = Convert.ToInt32(dgvClients.CurrentRow.Cells["client_id"].Value);
- string lastName = dgvClients.CurrentRow.Cells["last_name"].Value.ToString();
- string firstName = dgvClients.CurrentRow.Cells["first_name"].Value.ToString();
- string middleName = dgvClients.CurrentRow.Cells["middle_name"].Value?.ToString();
- string phone = dgvClients.CurrentRow.Cells["phone"].Value.ToString();
- ClientEditForm form = new ClientEditForm(clientId, lastName, firstName, middleName, phone);
- if (form.ShowDialog() == DialogResult.OK)
- {
- LoadClients();
- MessageBox.Show("Клиент успешно обновлён", "Успешно",
- MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- }
- private void BtnDelete_Click(object sender, EventArgs e)
- {
- if (dgvClients.CurrentRow == null)
- {
- MessageBox.Show("Выберите клиента для удаления", "Ошибка",
- MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return;
- }
- int clientId = Convert.ToInt32(dgvClients.CurrentRow.Cells["client_id"].Value);
- string clientName = dgvClients.CurrentRow.Cells["last_name"].Value.ToString() + " " +
- dgvClients.CurrentRow.Cells["first_name"].Value.ToString();
- DialogResult result = MessageBox.Show($"Удалить клиента {clientName}?",
- "Подтверждение удаления", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
- if (result == DialogResult.Yes)
- {
- if (DatabaseHelper.DeleteClient(clientId))
- {
- LoadClients();
- MessageBox.Show("Клиент успешно удалён", "Успешно",
- MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- else
- {
- MessageBox.Show("Ошибка при удалении клиента", "Ошибка",
- MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- }
- }
- private void BtnBack_Click(object sender, EventArgs e)
- {
- this.Close();
- }
- }
- }
|