120 lines
4.0 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|
|
}
|