// идиот, объедини эти 3 функции: private void Delete_Goods_Button(object sender, RoutedEventArgs e) { string client_id = tmp; Button button = sender as Button; // !!! string sqlExpression; SqlCommand command; SqlParameter client_id_param; try { SqlConnection connection = new SqlConnection(@"Data Source=DESKTOP-52L8N5J\SQLEXPRESS02;;Initial Catalog=Pharmacy;" + "Integrated Security=True;Connect Timeout=15;Encrypt=False;" + "TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"); connection.Open(); //basket_goods good = (basket_goods)Admin_Basket_ListView.SelectedItem; basket_goods good = button.DataContext as basket_goods; // !!! if (good != null) { sqlExpression = "Delete FROM Basket WHERE client_id=@client_id_value and product_id=@product_id_value"; command = new SqlCommand(sqlExpression, connection); client_id_param = new SqlParameter("@client_id_value", client_id); command.Parameters.Add(client_id_param); SqlParameter product_id_param = new SqlParameter("@product_id_value", good.product_id); command.Parameters.Add(product_id_param); SqlParameter count_goods_param = new SqlParameter("@count_goods_value", good.count_goods); command.Parameters.Add(count_goods_param); command.ExecuteNonQuery(); } else { MessageBox.Show("Выберите элемент в таблице"); } } catch (SqlException er) { MessageBox.Show(er.Message); } Write_Admin_Basket(client_id); }
// Кнопка деталей товара private void Details_Button(object sender, RoutedEventArgs e) { Button button = sender as Button; // !!! basket_goods good = button.DataContext as basket_goods; // !!! Manager.MainFrame.Navigate(new User_Product_Details(good.product_id)); }
/*вывод товаров корзины*/ public void Write_Admin_Basket(string client_id) { Admin_Basket_ListView.ItemsSource = null; tmp = client_id; string sqlExpression; SqlCommand command; SqlParameter client_id_param; SqlDataReader reader; List <basket_goods> goods_list = new List <basket_goods>(); final_price = 0; try { SqlConnection connection = new SqlConnection(ConnectionString); connection.Open(); /* получаем итогувую цену */ sqlExpression = "SELECT dbo.Basket.count_goods, dbo.Goods.price, dbo.Goods.price * dbo.Basket.count_goods AS Expr1 FROM dbo.Basket INNER JOIN dbo.Goods ON dbo.Basket.product_id = dbo.Goods.product_id WHERE(dbo.Basket.client_id = @client_id_value)"; command = new SqlCommand(sqlExpression, connection); client_id_param = new SqlParameter("@client_id_value", client_id); command.Parameters.Add(client_id_param); reader = command.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { price_of_goods og = new price_of_goods(); og.price = reader.GetValue(2).ToString(); final_price += double.Parse(og.price); } } reader.Close(); Final_price_textblock.Text = String.Format("{0:C}", final_price.ToString() + " руб"); /* получаем данные о товарах в корзине */ sqlExpression = "SELECT dbo.basket.product_id, dbo.basket.count_goods, dbo.Goods.product_name, dbo.Goods.image, dbo.Goods.price FROM dbo.Basket INNER JOIN dbo.Goods ON dbo.basket.product_id = dbo.Goods.product_id WHERE client_id = @client_id_value"; command = new SqlCommand(sqlExpression, connection); client_id_param = new SqlParameter("@client_id_value", client_id); command.Parameters.Add(client_id_param); reader = command.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { basket_goods st = new basket_goods(); st.product_id = reader.GetInt32(0); st.client_id = client_id; st.count_goods = reader.GetInt32(1); st.product_name = reader.GetString(2); st.image = reader[3] as byte[]; st.price = reader.GetValue(4).ToString(); goods_list.Add(st); } Admin_Basket_ListView.ItemsSource = goods_list; reader.Close(); } else { reader.Close(); } } catch (SqlException er) { MessageBox.Show(er.Message); } }
/* кнопка удаления товаров из корзину */ private void Delete_Goods_Button(object sender, RoutedEventArgs e) { string client_id = tmp; Button button = sender as Button; // !!! string sqlExpression; SqlCommand command; SqlParameter client_id_param; try { SqlConnection connection = new SqlConnection(ConnectionString); connection.Open(); basket_goods good = button.DataContext as basket_goods; // !!! if (good != null) { /* удаляем товар из корзины*/ sqlExpression = "Delete FROM Basket WHERE client_id=@client_id_value and product_id=@product_id_value"; command = new SqlCommand(sqlExpression, connection); client_id_param = new SqlParameter("@client_id_value", client_id); command.Parameters.Add(client_id_param); SqlParameter product_id_param = new SqlParameter("@product_id_value", good.product_id); command.Parameters.Add(product_id_param); SqlParameter count_goods_param = new SqlParameter("@count_goods_value", good.count_goods); command.Parameters.Add(count_goods_param); command.ExecuteNonQuery(); } else { MessageBox.Show("Выберите элемент в таблице"); } } catch (SqlException er) { MessageBox.Show(er.Message); } Write_Admin_Basket(client_id); }
private void SubProd(object sender, RoutedEventArgs e) { string client_id = tmp; Button button = sender as Button; // !!! string sqlExpression; SqlCommand command; SqlParameter client_id_param; try { SqlConnection connection = new SqlConnection(@"Data Source=DESKTOP-52L8N5J\SQLEXPRESS02;;Initial Catalog=Pharmacy;" + "Integrated Security=True;Connect Timeout=15;Encrypt=False;" + "TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"); connection.Open(); basket_goods good = button.DataContext as basket_goods; // !!! if (good != null) // !!! { sqlExpression = "UPDATE Basket SET count_goods = (count_goods - 1) Where client_id = @client_id_value AND product_id = @product_id_value"; command = new SqlCommand(sqlExpression, connection); client_id_param = new SqlParameter("@client_id_value", client_id); command.Parameters.Add(client_id_param); SqlParameter product_id_param = new SqlParameter("@product_id_value", good.product_id); command.Parameters.Add(product_id_param); command.ExecuteNonQuery(); sqlExpression = "SELECT * FROM Basket WHERE (client_id = @client_id_value) AND (count_goods <= 0) AND (product_id = @product_id_value)"; command = new SqlCommand(sqlExpression, connection); client_id_param = new SqlParameter("@client_id_value", client_id); command.Parameters.Add(client_id_param); product_id_param = new SqlParameter("@product_id_value", good.product_id); command.Parameters.Add(product_id_param); SqlDataReader reader = command.ExecuteReader(); if (reader.HasRows) { Delete_Goods_Button(sender, e); } } else { MessageBox.Show("Выберите элемент в таблице"); } } catch (SqlException er) { MessageBox.Show(er.Message); } Write_Admin_Basket(client_id); }
/* уменьшаем кол-во товаров в корзине*/ private void SubProd(object sender, RoutedEventArgs e) { string client_id = tmp; Button button = sender as Button; string sqlExpression; SqlCommand command; SqlParameter client_id_param; try { SqlConnection connection = new SqlConnection(ConnectionString); connection.Open(); basket_goods good = button.DataContext as basket_goods; if (good != null) { /*уменьшаем кол-во товара в корзине*/ sqlExpression = "UPDATE Basket SET count_goods = (count_goods - 1) Where client_id = @client_id_value AND product_id = @product_id_value"; command = new SqlCommand(sqlExpression, connection); client_id_param = new SqlParameter("@client_id_value", client_id); command.Parameters.Add(client_id_param); SqlParameter product_id_param = new SqlParameter("@product_id_value", good.product_id); command.Parameters.Add(product_id_param); command.ExecuteNonQuery(); /*удаляем товар из корзины если кол-во менее 1*/ sqlExpression = "SELECT * FROM Basket WHERE (client_id = @client_id_value) AND (count_goods <= 0) AND (product_id = @product_id_value)"; command = new SqlCommand(sqlExpression, connection); client_id_param = new SqlParameter("@client_id_value", client_id); command.Parameters.Add(client_id_param); product_id_param = new SqlParameter("@product_id_value", good.product_id); command.Parameters.Add(product_id_param); SqlDataReader reader = command.ExecuteReader(); if (reader.HasRows) { Delete_Goods_Button(sender, e); } } else { MessageBox.Show("Выберите элемент в таблице"); } } catch (SqlException er) { MessageBox.Show(er.Message); } Write_Admin_Basket(client_id); }
public void Write_Admin_Basket(string client_id) { Admin_Basket_ListView.ItemsSource = null; tmp = client_id; string sqlExpression; SqlCommand command; SqlParameter client_id_param; SqlDataReader reader; List <basket_goods> goods_list = new List <basket_goods>(); final_price = 0; try { SqlConnection connection = new SqlConnection(@"Data Source=DESKTOP-52L8N5J\SQLEXPRESS02;;Initial Catalog=Pharmacy;" + "Integrated Security=True;Connect Timeout=15;Encrypt=False;" + "TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"); connection.Open(); sqlExpression = "SELECT dbo.Basket.count_goods, dbo.Goods.price, dbo.Goods.price * dbo.Basket.count_goods AS Expr1 FROM dbo.Basket INNER JOIN dbo.Goods ON dbo.Basket.product_id = dbo.Goods.product_id WHERE(dbo.Basket.client_id = @client_id_value)"; command = new SqlCommand(sqlExpression, connection); client_id_param = new SqlParameter("@client_id_value", client_id); command.Parameters.Add(client_id_param); reader = command.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { price_of_goods og = new price_of_goods(); og.price = reader.GetValue(2).ToString(); final_price += double.Parse(og.price); } } reader.Close(); Final_price_textblock.Text = String.Format("{0:C}", final_price.ToString() + " руб"); sqlExpression = "SELECT dbo.basket.product_id, dbo.basket.count_goods, dbo.Goods.product_name, dbo.Goods.image, dbo.Goods.price FROM dbo.Basket INNER JOIN dbo.Goods ON dbo.basket.product_id = dbo.Goods.product_id WHERE client_id = @client_id_value"; command = new SqlCommand(sqlExpression, connection); client_id_param = new SqlParameter("@client_id_value", client_id); command.Parameters.Add(client_id_param); reader = command.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { basket_goods st = new basket_goods(); st.product_id = reader.GetInt32(0); st.client_id = client_id; st.count_goods = reader.GetInt32(1); st.product_name = reader.GetString(2); st.image = reader[3] as byte[]; st.price = reader.GetValue(4).ToString(); /// goods_list.Add(st); } Admin_Basket_ListView.ItemsSource = goods_list; reader.Close(); } else { reader.Close(); } } catch (SqlException er) { MessageBox.Show(er.Message); } }
/* Увеличить кол-во товаров в корзине */ private void AddProd(object sender, RoutedEventArgs e) { string client_id = tmp; Button button = sender as Button; string sqlExpression; SqlCommand command; SqlParameter client_id_param; SqlParameter product_id_param; int count_of_product_depot = 0; int count_of_product_basket = 0; try { SqlConnection connection = new SqlConnection(ConnectionString); connection.Open(); basket_goods good = button.DataContext as basket_goods; // !!! if (good != null) { /*получаем кол-во товаров на складе*/ sqlExpression = "SELECT [count] FROM Goods WHERE product_id = @product_id_value"; command = new SqlCommand(sqlExpression, connection); product_id_param = new SqlParameter("@product_id_value", good.product_id); command.Parameters.Add(product_id_param); SqlDataReader reader = command.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { count_of_product_depot = reader.GetInt32(0); } } reader.Close(); /*получаем кол-во товаров в корзине*/ sqlExpression = "SELECT count_goods FROM Basket Where client_id = @client_id_value AND product_id = @product_id_value"; command = new SqlCommand(sqlExpression, connection); client_id_param = new SqlParameter("@client_id_value", client_id); command.Parameters.Add(client_id_param); product_id_param = new SqlParameter("@product_id_value", good.product_id); command.Parameters.Add(product_id_param); reader = command.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { count_of_product_basket = reader.GetInt32(0); } } reader.Close(); if (count_of_product_depot > count_of_product_basket) { sqlExpression = "UPDATE Basket SET count_goods = (count_goods + 1) Where client_id = @client_id_value AND product_id = @product_id_value"; command = new SqlCommand(sqlExpression, connection); client_id_param = new SqlParameter("@client_id_value", client_id); command.Parameters.Add(client_id_param); product_id_param = new SqlParameter("@product_id_value", good.product_id); command.Parameters.Add(product_id_param); command.ExecuteNonQuery(); } else { MessageBox.Show("Товар кончился"); } } else { MessageBox.Show("Выберите элемент в таблице"); } } catch (SqlException er) { MessageBox.Show(er.Message); } Write_Admin_Basket(client_id); }