176 lines
6.8 KiB
C#
176 lines
6.8 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.ComponentModel;
|
||
using System.Data;
|
||
using System.Data.Common;
|
||
using System.Drawing;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
using System.Windows.Forms;
|
||
using MySql.Data.MySqlClient;
|
||
|
||
namespace demMalyhin
|
||
{
|
||
public partial class AdmOrder : Form
|
||
{
|
||
private MySqlDataAdapter dataAdapter;
|
||
private DataTable prodTable;
|
||
private BindingSource bindingSource = new BindingSource();
|
||
public AdmOrder()
|
||
{
|
||
InitializeComponent();
|
||
LoadProdData();
|
||
}
|
||
|
||
private void LoadProdData() // загрузка данных в дгв
|
||
{
|
||
try
|
||
{
|
||
DB db = new DB();
|
||
using (MySqlConnection connection = db.getConnection())
|
||
{
|
||
connection.Open();
|
||
string query = "SELECT id_Orders AS `Идентификатор`, order_date AS `Дата заказа`, delivery_date AS `Дата доставки`, pickup_points.index AS `Почтовый индекс`, pickup_points.street AS `Улица`, pickup_points.city AS `Город`, pickup_points.house_number AS `Номер здания`, users.Surname AS `Фамилия клиента`, users.Name AS `Имя клиента`, users.Patronymic AS `Отчество`, Orders.code AS `Код заказа`, OrderStatus.status_name AS `Статус заказа` FROM Orders LEFT JOIN pickup_points ON Orders.pickup_point_id = pickup_points.idpickup_points JOIN users ON Orders.user_initials_id = users.id_users JOIN OrderStatus ON Orders.orderstatus_id = OrderStatus.id_OrderStatus";
|
||
|
||
dataAdapter = new MySqlDataAdapter(query, connection);
|
||
prodTable = new DataTable();
|
||
dataAdapter.Fill(prodTable);
|
||
DataGridViewProduct.RowTemplate.Height = 60;
|
||
bindingSource.DataSource = prodTable;
|
||
DataGridViewProduct.DataSource = bindingSource;
|
||
DataGridViewProduct.AllowUserToAddRows = false;
|
||
DataGridViewProduct.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;
|
||
DataGridViewProduct.ReadOnly = true; // настройки дгв
|
||
|
||
}
|
||
}
|
||
catch (MySqlException ex)
|
||
{
|
||
MessageBox.Show("Ошибка при подключении к базе данных или выполнении запроса: " + ex.Message);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
MessageBox.Show("Произошла общая ошибка: " + ex.Message);
|
||
}
|
||
|
||
}
|
||
|
||
private void button1_Click(object sender, EventArgs e)
|
||
{
|
||
this.Close();
|
||
AdmAddOrder addProductForm = new AdmAddOrder();
|
||
DialogResult result = addProductForm.ShowDialog();
|
||
if (result == DialogResult.OK)
|
||
{
|
||
LoadProdData();
|
||
}
|
||
}
|
||
|
||
private void button2_Click(object sender, EventArgs e)
|
||
{
|
||
if (DataGridViewProduct.SelectedRows.Count > 0)
|
||
{
|
||
string articleToEdit = Convert.ToString(DataGridViewProduct.SelectedRows[0].Cells["Идентификатор"].Value);
|
||
this.Close();
|
||
|
||
|
||
|
||
AdmEditOrder editProductForm = new AdmEditOrder(articleToEdit);
|
||
|
||
DialogResult result = editProductForm.ShowDialog();
|
||
|
||
|
||
if (result == DialogResult.OK)
|
||
{
|
||
LoadProdData();
|
||
}
|
||
}
|
||
else
|
||
{
|
||
MessageBox.Show("Пожалуйста, выберите строку для редактирования.");
|
||
}
|
||
}
|
||
|
||
private void btnBack_Click(object sender, EventArgs e)
|
||
{
|
||
this.Close();
|
||
AdmMainForm mainForm = new AdmMainForm();
|
||
mainForm.Show();
|
||
}
|
||
|
||
private void btnExit_Click(object sender, EventArgs e)
|
||
{
|
||
Application.Exit();
|
||
}
|
||
|
||
private void btnDelete_Click(object sender, EventArgs e)
|
||
{
|
||
if (DataGridViewProduct.SelectedRows.Count > 0)
|
||
{
|
||
int rowIndex = DataGridViewProduct.SelectedRows[0].Index;
|
||
|
||
string idToDelete = Convert.ToString(DataGridViewProduct.SelectedRows[0].Cells["Идентификатор"].Value);
|
||
|
||
|
||
|
||
DialogResult result = MessageBox.Show(
|
||
"Вы действительно хотите удалить заказ с идентификатором '" + idToDelete + "'?",
|
||
"Подтверждение удаления",
|
||
MessageBoxButtons.YesNo,
|
||
MessageBoxIcon.Question // Используем иконку вопроса
|
||
);
|
||
|
||
// Проверяем, нажал ли пользователь "Да"
|
||
if (result == DialogResult.Yes)
|
||
{
|
||
// Если пользователь подтвердил, вызываем метод удаления
|
||
DeleteData(idToDelete);
|
||
}
|
||
|
||
|
||
}
|
||
else
|
||
{
|
||
MessageBox.Show("Пожалуйста, выберите строку для удаления.");
|
||
}
|
||
}
|
||
private void DeleteData(string idToDelete)
|
||
{
|
||
try
|
||
{
|
||
DB db = new DB();
|
||
using (MySqlConnection connection = db.getConnection())
|
||
{
|
||
connection.Open();
|
||
string query = "DELETE FROM Orders WHERE id_Orders = @id";
|
||
using (MySqlCommand command = new MySqlCommand(query, connection))
|
||
{
|
||
command.Parameters.AddWithValue("@id", idToDelete);
|
||
|
||
int rowsAffected = command.ExecuteNonQuery();
|
||
|
||
if (rowsAffected > 0)
|
||
{
|
||
MessageBox.Show("Запись успешно удалена.");
|
||
LoadProdData();
|
||
}
|
||
else
|
||
{
|
||
MessageBox.Show("Не удалось удалить запись.");
|
||
}
|
||
}
|
||
}
|
||
}
|
||
catch (MySqlException ex)
|
||
{
|
||
MessageBox.Show("Ошибка при подключении к базе данных или выполнении запроса удаления: " + ex.Message);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
MessageBox.Show("Произошла общая ошибка при удалении: " + ex.Message);
|
||
}
|
||
}
|
||
}
|
||
}
|