144 lines
5.6 KiB
C#
144 lines
5.6 KiB
C#
using MySql.Data.MySqlClient;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.ComponentModel;
|
||
using System.Data;
|
||
using System.Drawing;
|
||
using System.IO;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
using System.Windows.Forms;
|
||
using System.Windows.Forms.VisualStyles;
|
||
|
||
namespace megadem
|
||
{
|
||
public partial class EditProductForm : Form
|
||
{
|
||
private string productID;
|
||
public EditProductForm(string productID)
|
||
{
|
||
InitializeComponent();
|
||
LoadTypes();
|
||
LoadProductData(productID);
|
||
}
|
||
|
||
private void LoadProductData(string productId)
|
||
{
|
||
try
|
||
{
|
||
DB db = new DB();
|
||
using (MySqlConnection connection = db.getConnection())
|
||
{
|
||
connection.Open();
|
||
string query = "SELECT Product_name, Product_type_id, Min_price_partner, Width FROM Product WHERE Article = @id";
|
||
using (MySqlCommand command = new MySqlCommand(query, connection))
|
||
{
|
||
command.Parameters.AddWithValue("@id", productId);
|
||
using (MySqlDataReader reader = command.ExecuteReader())
|
||
{
|
||
if (reader.Read())
|
||
{
|
||
Article.Text = productId;
|
||
NameProd.Text = reader["product_name"].ToString();
|
||
comboBoxType.Text = reader["Product_type_id"].ToString();
|
||
MinPrice.Text = reader["Min_price_partner"].ToString();
|
||
Width.Text = reader["Width"].ToString();
|
||
}
|
||
else
|
||
{
|
||
MessageBox.Show("Продукт с указанным ID не найден.");
|
||
this.DialogResult = DialogResult.Cancel;
|
||
this.Close();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
catch (MySqlException ex)
|
||
{
|
||
MessageBox.Show("Ошибка при загрузке данных продукта: " + ex.Message);
|
||
}
|
||
}
|
||
|
||
private void LoadTypes()
|
||
{
|
||
try
|
||
{
|
||
DB db = new DB();
|
||
using (MySqlConnection connection = db.getConnection())
|
||
{
|
||
connection.Open();
|
||
string query = "SELECT idProduct_Type, ProductType FROM Product_type";
|
||
using (MySqlCommand command = new MySqlCommand(query, connection))
|
||
{
|
||
using (MySqlDataReader reader = command.ExecuteReader())
|
||
{
|
||
DataTable typeTable = new DataTable();
|
||
typeTable.Load(reader);
|
||
|
||
comboBoxType.DataSource = typeTable;
|
||
comboBoxType.DisplayMember = "ProductType";
|
||
comboBoxType.ValueMember = "idProduct_Type";
|
||
}
|
||
}
|
||
}
|
||
}
|
||
catch (MySqlException ex)
|
||
{
|
||
MessageBox.Show("Ошибка при загрузке категорий: " + ex.Message);
|
||
}
|
||
}
|
||
|
||
private void btnAdd_Click(object sender, EventArgs e)
|
||
{
|
||
try
|
||
{
|
||
|
||
object typeId = comboBoxType.SelectedValue;
|
||
|
||
|
||
DB db = new DB();
|
||
using (MySqlConnection connection = db.getConnection())
|
||
{
|
||
connection.Open();
|
||
string query = "UPDATE Product SET Product_name = @pr_name, Product_type_id = @type, Min_price_partner = @price, Width = @width WHERE Article = @id";
|
||
using (MySqlCommand command = new MySqlCommand(query, connection))
|
||
{
|
||
command.Parameters.AddWithValue("@id", Article.Text);
|
||
command.Parameters.AddWithValue("@width", Convert.ToDecimal(Width.Text));
|
||
command.Parameters.AddWithValue("@pr_name", NameProd.Text);
|
||
command.Parameters.AddWithValue("@type", typeId);
|
||
command.Parameters.AddWithValue("@price", Convert.ToDecimal(MinPrice.Text));
|
||
|
||
int rowsAffected = command.ExecuteNonQuery();
|
||
if (rowsAffected > 0)
|
||
{
|
||
MessageBox.Show("Данные продукта успешно обновлены.");
|
||
this.DialogResult = DialogResult.OK;
|
||
this.Hide();
|
||
MainForm form = new MainForm();
|
||
form.Show();
|
||
}
|
||
else
|
||
{
|
||
MessageBox.Show("Не удалось обновить данные продукта.");
|
||
}
|
||
}
|
||
}
|
||
}
|
||
catch (MySqlException ex)
|
||
{
|
||
MessageBox.Show("Ошибка при сохранении данных продукта: " + ex.Message);
|
||
}
|
||
}
|
||
|
||
private void button1_Click(object sender, EventArgs e)
|
||
{
|
||
this.Hide();
|
||
MainForm mainForm = new MainForm();
|
||
mainForm.Show();
|
||
}
|
||
}
|
||
}
|