2024-05-06 22:17:29 +04:00

120 lines
4.0 KiB
C#

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 FormClient : Form
{
private Abstractions bd;
public FormClient(Abstractions _bd)
{
InitializeComponent();
bd = _bd;
}
private void loadData()
{
// Получаем список клиентов
List<Client> clients = bd.GetClients();
// Очищаем 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("Phone", "Phone");
dataGridView.Columns.Add("Email", "Email");
}
// Заполняем dataGridView данными из списка клиентов
foreach (Client client in clients)
{
dataGridView.Rows.Add(client.Id, client.Name, client.Surname, client.Phone, client.Email);
}
}
// Создание новой записи клиента
private void buttonCreate_Click(object sender, EventArgs e)
{
Client newClient = new Client
{
Name = textBoxName.Text,
Surname = textBoxSurname.Text,
Phone = textBoxPhone.Text,
Email = textBoxEmail.Text
};
bd.AddClient(newClient);
// Обновляем отображение данных
loadData();
}
// Обновление выбранной записи клиента
private void buttonUpdate_Click(object sender, EventArgs e)
{
if (dataGridView.SelectedRows.Count > 0)
{
DataGridViewRow row = dataGridView.SelectedRows[0];
int clientId = Convert.ToInt32(row.Cells["Id"].Value);
Client updatedClient = new Client
{
Id = clientId,
Name = textBoxName.Text,
Surname = textBoxSurname.Text,
Phone = textBoxPhone.Text,
Email = textBoxEmail.Text
};
bd.UpdateClient(updatedClient);
// Обновляем отображение данных
loadData();
}
}
// Удаление выбранной записи клиента
private void buttonDelete_Click(object sender, EventArgs e)
{
if (dataGridView.SelectedRows.Count > 0)
{
DataGridViewRow row = dataGridView.SelectedRows[0];
int clientId = Convert.ToInt32(row.Cells["Id"].Value);
bd.DeleteClient(clientId);
// Обновляем отображение данных
loadData();
}
}
private void FormClient_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();
textBoxSurname.Text = row.Cells["Surname"].Value.ToString();
textBoxPhone.Text = row.Cells["Phone"].Value.ToString();
textBoxEmail.Text = row.Cells["Email"].Value.ToString();
}
}
}
}