コード例 #1
0
        // идиот, объедини эти 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);
        }
コード例 #2
0
        // Кнопка деталей товара
        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));
        }
コード例 #3
0
        /*вывод товаров корзины*/
        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);
            }
        }
コード例 #4
0
        /* кнопка удаления товаров из корзину */
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        /* уменьшаем кол-во товаров в корзине*/
        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);
        }
コード例 #7
0
        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);
            }
        }
コード例 #8
0
        /* Увеличить кол-во товаров в корзине */
        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);
        }