コード例 #1
0
ファイル: order.cs プロジェクト: Limontika/WS-use-C-
        private void button3_Click(object sender, EventArgs e)
        {
            MySqlConnection conn = DB.GetDBConnection();

            try
            {
                conn.Open();
            }
            catch
            {
                MessageBox.Show(
                    "Проблемы с подключением к БД",
                    "Сообщение",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error,
                    MessageBoxDefaultButton.Button1);
            }

            int count = dataGridView1.RowCount;

            try
            {
                DateTime     now = DateTime.Now;
                string       sql = $"INSERT orders( customer_id, created_at, updated_at) VALUES ({id_user},'{now}','{now}'); ";
                MySqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = sql;
                cmd.ExecuteNonQuery();

                id_order = cmd.LastInsertedId;
                int i = 0;

                while (i != count)
                {
                    sql             = $"INSERT orders_has_products (orders_id, products_vendor_code, quantity) VALUES ({id_order}, {dataGridView1.Rows[i].Cells[4].Value}, {dataGridView1.Rows[i].Cells[2].Value}); ";
                    cmd.CommandText = sql;
                    cmd.ExecuteNonQuery();
                    i++;
                }

                conn.Close();

                MessageBox.Show(
                    "Заказ успешно создан",
                    "Сообщение",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Information,
                    MessageBoxDefaultButton.Button1);
            }

            catch (Exception er)
            {
                MessageBox.Show(
                    $"Не удалось передать заказ, повторите попытку (Ошибка {er})",
                    "Сообщение",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error,
                    MessageBoxDefaultButton.Button1);
            }
        }
コード例 #2
0
ファイル: cutting.cs プロジェクト: Limontika/WS-use-C-
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            pictureBox1.Visible = true;

            MySqlConnection conn = DB.GetDBConnection();

            try
            {
                conn.Open();
            }
            catch
            {
                MessageBox.Show(
                    "Проблемы с подключением к БД",
                    "Сообщение",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error,
                    MessageBoxDefaultButton.Button1);
            }

            int    index  = 0;
            int    height = 0;
            int    width  = 0;
            string color  = "";


            int.TryParse(comboBox1.SelectedIndex.ToString(), out index);
            Console.WriteLine(mass_vendCode_product[index]);

            try
            {
                string       sql = $"SELECT width, height FROM products WHERE vendor_code = {mass_vendCode_product[index]}";
                MySqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = sql;
                MySqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    int.TryParse(reader[0].ToString(), out width);
                    int.TryParse(reader[1].ToString(), out height);
                }
                reader.Close();
                conn.Close();
            }
            catch
            {
                MessageBox.Show(
                    "Не выбрано материалов для оформления заказа",
                    "Сообщение",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error,
                    MessageBoxDefaultButton.Button1);
            }

            pictureBox2.Width     = width;
            pictureBox2.Height    = height;
            pictureBox2.BackColor = Color.Black;
            pictureBox2.BringToFront();
        }
コード例 #3
0
ファイル: order.cs プロジェクト: Limontika/WS-use-C-
        private void order_Load(object sender, EventArgs e)
        {
            List <object> products = new List <object>();

            this.comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
            this.comboBox2.DropDownStyle = ComboBoxStyle.DropDownList;


            MySqlConnection conn = DB.GetDBConnection();

            try
            {
                conn.Open();
            }
            catch
            {
                MessageBox.Show(
                    "Проблемы с подключением к БД",
                    "Сообщение",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error,
                    MessageBoxDefaultButton.Button1);
            }

            try
            {
                string       sql = $"SELECT vendor_code, name, quantity, width, height FROM products";
                MySqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = sql;
                MySqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    products.Add(reader[1] + " " + reader[3] + "x" + reader[4]);
                }
                reader.Close();
                conn.Close();
                comboBox1.Items.AddRange(products.ToArray());
                /*int.TryParse(reader[0].ToString(), out name_products);*/
            }
            catch
            {
                MessageBox.Show(
                    "Данные не найдены",
                    "Сообщение",
                    MessageBoxButtons.OKCancel,
                    MessageBoxIcon.Error,
                    MessageBoxDefaultButton.Button1);
            }

            object[] quanyti = new object[9] {
                1, 2, 3, 4, 5, 6, 7, 8, 9
            };

            comboBox2.Items.AddRange(quanyti);
            comboBox2.SelectedIndex = 0;
            comboBox1.SelectedIndex = 0;
        }
コード例 #4
0
        private void receipt_of_materials_Load(object sender, EventArgs e)
        {
            List <object> materials = new List <object>();

            this.comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
            this.comboBox2.DropDownStyle = ComboBoxStyle.DropDownList;

            MySqlConnection conn = DB.GetDBConnection();

            try
            {
                conn.Open();
            }
            catch
            {
                MessageBox.Show(
                    "Проблемы с подключением к БД",
                    "Сообщение",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error,
                    MessageBoxDefaultButton.Button1);
            }

            try
            {
                string       sql = $"SELECT vendor_code, composition, color, width, height FROM rolls";
                MySqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = sql;
                MySqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    materials.Add(reader[1] + " " + reader[2]);
                }
                reader.Close();
                conn.Close();
                comboBox1.Items.AddRange(materials.ToArray());
            }
            catch
            {
                MessageBox.Show(
                    "Данные не найдены",
                    "Сообщение",
                    MessageBoxButtons.OKCancel,
                    MessageBoxIcon.Error,
                    MessageBoxDefaultButton.Button1);
            }

            object[] quanyti = new object[9] {
                1, 2, 3, 4, 5, 6, 7, 8, 9
            };

            comboBox2.Items.AddRange(quanyti);
            comboBox2.SelectedIndex = 0;
            comboBox1.SelectedIndex = 0;
        }
コード例 #5
0
        private void button5_Click(object sender, EventArgs e)
        {
            dataGridView1.Rows.Clear();

            MySqlConnection conn = DB.GetDBConnection();

            try
            {
                conn.Open();
            }
            catch
            {
                MessageBox.Show(
                    "Проблемы с подключением к БД",
                    "Сообщение",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error,
                    MessageBoxDefaultButton.Button1);
            }

            try
            {
                if (id_role == 1)
                {
                    sql = $"SELECT id, state, customer_id, manager_id, created_at, updated_at FROM orders WHERE customer_id= {id_user}";
                }
                else if (id_role == 3)
                {
                    sql = $"SELECT id, state, customer_id, manager_id, created_at, updated_at FROM orders WHERE manager_id= {id_user}";
                }

                MySqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = sql;
                MySqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    dataGridView1.Rows.Add(reader[0], reader[1], reader[2], reader[3], reader[4], reader[5]);
                }
                reader.Close();
                conn.Close();
            }

            catch (Exception er)
            {
                MessageBox.Show(
                    $"Не удалось передать заказ, повторите попытку (Ошибка {er})",
                    "Сообщение",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error,
                    MessageBoxDefaultButton.Button1);
            }
        }
コード例 #6
0
ファイル: order.cs プロジェクト: Limontika/WS-use-C-
        private void button2_Click(object sender, EventArgs e)
        {
            MySqlConnection conn = DB.GetDBConnection();

            try
            {
                conn.Open();
            }
            catch
            {
                MessageBox.Show(
                    "Проблемы с подключением к БД",
                    "Сообщение",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error,
                    MessageBoxDefaultButton.Button1);
            }

            int    index       = 0;
            int    quanyti     = 0;
            int    height      = 0;
            int    width       = 0;
            int    vendor_code = 0;
            string name        = "";

            int.TryParse(comboBox1.SelectedIndex.ToString(), out index);
            int.TryParse(comboBox2.SelectedItem.ToString(), out quanyti);

            try
            {
                string       sql = $"SELECT vendor_code, name, width, height FROM products WHERE vendor_code = {index+1}";
                MySqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = sql;
                MySqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    name = reader[1].ToString();
                    int.TryParse(reader[2].ToString(), out width);
                    int.TryParse(reader[3].ToString(), out height);
                    int.TryParse(reader[0].ToString(), out vendor_code);
                }
                reader.Close();
                conn.Close();
            }
            catch
            {
                MessageBox.Show(
                    "Не выбрано изделия для оформления заказа",
                    "Сообщение",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error,
                    MessageBoxDefaultButton.Button1);
            }

            int S = height * width;

            S = S / 10;
            int temp = S * quanyti;

            cost += temp;

            textBox1.Text = cost.ToString();

            int i = 0;

            while (i != dataGridView1.RowCount)
            {
                if (int.Parse(dataGridView1.Rows[i].Cells[4].Value.ToString()) == vendor_code)
                {
                    dataGridView1.Rows[i].Cells[2].Value = quanyti + int.Parse(dataGridView1.Rows[i].Cells[2].Value.ToString());
                    return;
                }
                i++;
            }


            dataGridView1.Rows.Add(rows, comboBox1.SelectedItem.ToString(), quanyti, temp, vendor_code);
            rows += 1;
        }
コード例 #7
0
        private void button4_Click(object sender, EventArgs e)
        {
            MySqlConnection conn = DB.GetDBConnection();

            try
            {
                conn.Open();
            }
            catch
            {
                MessageBox.Show(
                    "Проблемы с подключением к БД",
                    "Сообщение",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error,
                    MessageBoxDefaultButton.Button1);
            }

            try
            {
                DateTime     now = DateTime.Now;
                string       sql = $"SELECT vendor_code, composition, color, width, height FROM rolls";
                MySqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = sql;
                MySqlDataReader reader     = cmd.ExecuteReader();
                var             path       = "D:/myProject/WS-use-C-/reports/";
                var             write_path = $@"{path}{now.ToString("dd.MM.yyyy_hhmmss")}.csv";
                Console.WriteLine(write_path.ToString());
                string info  = "Выгрузка остатков материалов от " + now;
                string title = "composition;color;width;height";
                using (StreamWriter sw = new StreamWriter(write_path, true, System.Text.Encoding.Default))
                {
                    sw.WriteLine(info + '\n');
                    sw.WriteLine(title + '\n');

                    while (reader.Read())
                    {
                        sw.WriteLine("\"" + reader[1] + "\";" + "\t" + "\"" + reader[2] + "\";" + "\t" + "\"" + reader[3] + ";" + "\t" + "\"" + reader[4] + ";");
                    }
                }

                reader.Close();
                conn.Close();

                DialogResult result = MessageBox.Show(
                    "Отчет успешно создан, нажмите ОК чтобы посмотореть отчет или Cancle для продолжения работы",
                    "Сообщение",
                    MessageBoxButtons.OKCancel,
                    MessageBoxIcon.Information,
                    MessageBoxDefaultButton.Button1);

                if (result == DialogResult.OK)
                {
                    Process.Start($"{write_path}");
                }
            }
            catch
            {
                MessageBox.Show(
                    "Ошибка выгрузки отчета",
                    "Сообщение",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error,
                    MessageBoxDefaultButton.Button1);
            }
        }
コード例 #8
0
ファイル: viewItems.cs プロジェクト: Limontika/WS-use-C-
        private void viewItems_Load(object sender, EventArgs e)
        {
            MySqlConnection conn = DB.GetDBConnection();

            try
            {
                conn.Open();
            }
            catch
            {
                MessageBox.Show(
                    "Проблемы с подключением к БД",
                    "Сообщение",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error,
                    MessageBoxDefaultButton.Button1);
            }

            switch (txt)
            {
            case "Список тканей":

                try
                {
                    string       sql = $"SELECT vendor_code, composition, color, width, height FROM rolls";
                    MySqlCommand cmd = conn.CreateCommand();
                    cmd.CommandText = sql;
                    MySqlDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        dataGridView1.Rows.Add(reader[0], reader[1], reader[2], reader[3], reader[4]);
                    }
                    reader.Close();
                    conn.Close();
                }
                catch
                {
                    MessageBox.Show(
                        $"На складе нету {txt}",
                        "Сообщение",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Error,
                        MessageBoxDefaultButton.Button1);
                }
                break;

            case "Список фурнитуры":

                dataGridView1.Columns[2].HeaderText = "Количество";

                try
                {
                    string       sql = $"SELECT vendor_code, name, quantity, width, height FROM products";
                    MySqlCommand cmd = conn.CreateCommand();
                    cmd.CommandText = sql;
                    MySqlDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        dataGridView1.Rows.Add(reader[0], reader[1], reader[2], reader[3], reader[4]);
                    }
                    reader.Close();
                    conn.Close();
                }
                catch
                {
                    MessageBox.Show(
                        $"На складе нету {txt}",
                        "Сообщение",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Error,
                        MessageBoxDefaultButton.Button1);
                }
                break;

            case "Список изделий":

                dataGridView1.Columns[2].HeaderText = "Количество";

                try
                {
                    string       sql = $"SELECT vendor_code, name, quantity, width, height FROM products";
                    MySqlCommand cmd = conn.CreateCommand();
                    cmd.CommandText = sql;
                    MySqlDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        dataGridView1.Rows.Add(reader[0], reader[1], reader[2], reader[3], reader[4]);
                    }
                    reader.Close();
                    conn.Close();
                }
                catch
                {
                    MessageBox.Show(
                        $"На складе нету {txt}",
                        "Сообщение",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Error,
                        MessageBoxDefaultButton.Button1);
                }
                break;
            }
        }
コード例 #9
0
ファイル: cutting.cs プロジェクト: Limontika/WS-use-C-
        private void cutting_Load(object sender, EventArgs e)
        {
            pictureBox1.Visible = false;
            pictureBox2.Visible = false;

            List <object> products          = new List <object>();
            List <object> materials         = new List <object>();
            List <object> vendCode_product  = new List <object>();
            List <object> vendCode_material = new List <object>();

            this.comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
            this.comboBox2.DropDownStyle = ComboBoxStyle.DropDownList;

            MySqlConnection conn = DB.GetDBConnection();

            try
            {
                conn.Open();
            }
            catch
            {
                MessageBox.Show(
                    "Проблемы с подключением к БД",
                    "Сообщение",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error,
                    MessageBoxDefaultButton.Button1);
            }

            try
            {
                sql = $"SELECT vendor_code, name, quantity, width, height FROM products";
                MySqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = sql;
                MySqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    products.Add(reader[1] + " " + reader[3] + "x" + reader[4]);
                    vendCode_product.Add(reader[0]);
                }
                reader.Close();

                sql             = $"SELECT vendor_code, composition, color, width, height FROM rolls";
                cmd.CommandText = sql;
                reader          = cmd.ExecuteReader();
                while (reader.Read())
                {
                    materials.Add(reader[1] + " " + reader[2] + " " + reader[3] + "x" + reader[4]);
                    vendCode_material.Add(reader[0]);
                }
                reader.Close();
                conn.Close();
                comboBox1.Items.AddRange(products.ToArray());
                comboBox2.Items.AddRange(materials.ToArray());
                mass_vendCode_material = vendCode_material.ToArray();
                mass_vendCode_product  = vendCode_product.ToArray();
            }
            catch (Exception er)
            {
                MessageBox.Show(
                    $"Данные не найдены {er}",
                    "Сообщение",
                    MessageBoxButtons.OKCancel,
                    MessageBoxIcon.Error,
                    MessageBoxDefaultButton.Button1);
            }
        }
コード例 #10
0
ファイル: cutting.cs プロジェクト: Limontika/WS-use-C-
        private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
            pictureBox2.Visible = true;

            MySqlConnection conn = DB.GetDBConnection();

            try
            {
                conn.Open();
            }
            catch
            {
                MessageBox.Show(
                    "Проблемы с подключением к БД",
                    "Сообщение",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error,
                    MessageBoxDefaultButton.Button1);
            }

            int    index  = 0;
            int    height = 0;
            int    width  = 0;
            string color  = "";

            int.TryParse(comboBox2.SelectedIndex.ToString(), out index);
            Console.WriteLine(mass_vendCode_material[index]);

            try
            {
                string       sql = $"SELECT width, height, color FROM rolls WHERE vendor_code = {mass_vendCode_material[index]}";
                MySqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = sql;
                MySqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    int.TryParse(reader[0].ToString(), out width);
                    int.TryParse(reader[1].ToString(), out height);
                    color = reader[2].ToString();
                }
                reader.Close();
                conn.Close();
            }
            catch
            {
                MessageBox.Show(
                    "Не выбрано материалов для оформления заказа",
                    "Сообщение",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error,
                    MessageBoxDefaultButton.Button1);
            }

            pictureBox1.Width  = width;
            pictureBox1.Height = height;
            switch (color)
            {
            case "Синий":
                pictureBox1.BackColor = Color.Blue;
                break;

            case "Светло-синий":
                pictureBox1.BackColor = Color.LightBlue;
                break;

            case "Оранжевый":
                pictureBox1.BackColor = Color.Orange;
                break;

            case "Лиловый":
                pictureBox1.BackColor = Color.Purple;
                break;

            case "Красный":
                pictureBox1.BackColor = Color.Red;
                break;

            case "Зелёный":
                pictureBox1.BackColor = Color.Green;
                break;

            case "Жёлтый":
                pictureBox1.BackColor = Color.Yellow;
                break;

            default:
                pictureBox1.BackColor = Color.Gray;
                break;
            }
        }
コード例 #11
0
ファイル: Authorized.cs プロジェクト: Limontika/WS-use-C-
        private void button1_Click(object sender, EventArgs e)
        {
            MySqlConnection conn = DB.GetDBConnection();

            try
            {
                conn.Open();
            }
            catch
            {
                MessageBox.Show(
                    "Проблемы с подключением к БД",
                    "Сообщение",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error,
                    MessageBoxDefaultButton.Button1);
            }

            String loginUser = textBox1.Text;
            String passUser  = textBox2.Text;

            try
            {
                string       sql = $"SELECT id, role_id FROM users WHERE login='******' AND password='******'";
                MySqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = sql;
                MySqlDataReader reader = cmd.ExecuteReader();
                reader.Read();
                int.TryParse(reader[0].ToString(), out id_user);
                int.TryParse(reader[1].ToString(), out id_role);
            }
            catch
            {
                MessageBox.Show(
                    "Логин или пароль неправильны",
                    "Сообщение",
                    MessageBoxButtons.OKCancel,
                    MessageBoxIcon.Error,
                    MessageBoxDefaultButton.Button1);
            }

            if (id_role == 1)
            {
                Form customer = new Заказчик(id_user, id_role);
                customer.ShowDialog();
                textBox1.Text = "";
                textBox2.Text = "";
            }
            else if (id_role == 2)
            {
                Form manager = new manager(id_user, id_role);
                manager.ShowDialog();
                textBox1.Text = "";
                textBox2.Text = "";
            }
            else if (id_role == 3)
            {
                Form storekeeper = new storekeeper();
                storekeeper.ShowDialog();
                textBox1.Text = "";
                textBox2.Text = "";
            }
            else if (id_role == 4)
            {
                Form director = new director(id_user, id_role);
                director.ShowDialog();
                textBox1.Text = "";
                textBox2.Text = "";
            }
        }
コード例 #12
0
ファイル: registration.cs プロジェクト: Limontika/WS-use-C-
        private void button1_Click(object sender, EventArgs e)
        {
            Regex def_passwd = new Regex(@"(?=.*[0-9])(?=.*[!@#$%^&*])(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z!@#$%^&*]{6,}");

            if (textBox2.Text != "" && textBox3.Text != "")
            {
                if (textBox2.Text != textBox3.Text)
                {
                    MessageBox.Show(
                        "Пароли не совпадают",
                        "Сообщение",
                        MessageBoxButtons.OKCancel,
                        MessageBoxIcon.Error,
                        MessageBoxDefaultButton.Button1);
                }
                else if (def_passwd.IsMatch(textBox2.Text) && textBox2.Text == textBox3.Text)
                {
                    MySqlConnection conn = DB.GetDBConnection();
                    try
                    {
                        conn.Open();
                    }
                    catch
                    {
                        MessageBox.Show(
                            "Проблемы с подключением к БД",
                            "Сообщение",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Error,
                            MessageBoxDefaultButton.Button1);
                    }

                    try
                    {
                        string       sql = $"INSERT users (login, password, role_id) VALUES ('{textBox1.Text}', '{textBox2.Text}', 1);";
                        MySqlCommand cmd = conn.CreateCommand();
                        cmd.CommandText = sql;
                        cmd.ExecuteNonQuery();

                        MessageBox.Show(
                            $"Пользователь '{textBox1.Text}' был успешно добавлен",
                            "Сообщение",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Information,
                            MessageBoxDefaultButton.Button1);
                    }
                    catch
                    {
                        MessageBox.Show(
                            "Неполучилось создать пользователя, обратитесь к системному админестратору",
                            "Сообщение",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Error,
                            MessageBoxDefaultButton.Button1);
                    }
                }
                else
                {
                    MessageBox.Show(
                        "Неправильный логин или пароль",
                        "Сообщение",
                        MessageBoxButtons.OKCancel,
                        MessageBoxIcon.Error,
                        MessageBoxDefaultButton.Button1);
                }
            }
            else
            {
                MessageBox.Show(
                    "Введите пароли ПОЖАЛУЙСТА!",
                    "Сообщение",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error,
                    MessageBoxDefaultButton.Button1);
            }
        }
コード例 #13
0
        private void button1_Click(object sender, EventArgs e)
        {
            string sql = "";

            string[] status = new string[4] {
                "Новый", "Принят к проверке", "В работе", "Выполнен"
            };

            var temp = MessageBox.Show(
                "Изменить статус?",
                "Сообщение",
                MessageBoxButtons.YesNo,
                MessageBoxIcon.Question,
                MessageBoxDefaultButton.Button1);

            if (temp == DialogResult.No)
            {
                return;
            }

            try
            {
                if (dataGridView1.CurrentCell.Value.ToString() != status[3])
                {
                    int i = 0;
                    foreach (var item in status)
                    {
                        if (dataGridView1.CurrentCell.Value.ToString() == item && i + 1 < status.Length)
                        {
                            MySqlConnection conn = DB.GetDBConnection();
                            try
                            {
                                conn.Open();
                            }
                            catch
                            {
                                MessageBox.Show(
                                    "Проблемы с подключением к БД",
                                    "Сообщение",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Error,
                                    MessageBoxDefaultButton.Button1);
                            }

                            try
                            {
                                DateTime now = DateTime.Now;
                                if (dataGridView1.CurrentCell.Value.ToString() == "Новый" && dataGridView1.Rows[int.Parse(dataGridView1.CurrentCellAddress.Y.ToString())].Cells[3].Value.ToString() == "")
                                {
                                    sql = $"UPDATE orders SET state='{status[i + 1]}', updated_at='{now}', manager_id={id_user} WHERE id={dataGridView1.Rows[int.Parse(dataGridView1.CurrentCellAddress.Y.ToString())].Cells[0].Value}";
                                    dataGridView1.CurrentCell.Value = status[i + 1];
                                    dataGridView1.Rows[int.Parse(dataGridView1.CurrentCellAddress.Y.ToString())].Cells[3].Value = $"{id_user}";
                                }
                                else
                                {
                                    sql = $"UPDATE orders SET state='{status[i + 1]}', updated_at='{now}' WHERE id={dataGridView1.Rows[int.Parse(dataGridView1.CurrentCellAddress.Y.ToString())].Cells[0].Value}";
                                    dataGridView1.CurrentCell.Value = status[i + 1];
                                }
                                Console.WriteLine(sql);
                                MySqlCommand cmd = conn.CreateCommand();
                                cmd.CommandText = sql;
                                cmd.ExecuteNonQuery();

                                conn.Close();
                            }

                            catch (Exception er)
                            {
                                MessageBox.Show(
                                    $"Не удалось передать заказ, повторите попытку (Ошибка {er})",
                                    "Сообщение",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Error,
                                    MessageBoxDefaultButton.Button1);
                            }

                            MessageBox.Show(
                                $"Сатус изменен на {dataGridView1.CurrentCell.Value}",
                                "Сообщение",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Information,
                                MessageBoxDefaultButton.Button1);
                            break;
                        }
                        i++;
                    }
                }
                else
                {
                    MessageBox.Show(
                        $"Не возможно изменить статус, заказ уже выполнен!",
                        "Сообщение",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Information,
                        MessageBoxDefaultButton.Button1);
                }
            }

            catch (Exception er)
            {
                MessageBox.Show(
                    $"Статус не изменился, попробуйте снова. Ошибка({er})",
                    "Сообщение",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error,
                    MessageBoxDefaultButton.Button1);
            }
        }
コード例 #14
0
        private void button4_Click(object sender, EventArgs e)
        {
            var temp = MessageBox.Show(
                "Отменить заказ?",
                "Сообщение",
                MessageBoxButtons.YesNo,
                MessageBoxIcon.Question,
                MessageBoxDefaultButton.Button1);

            if (temp == DialogResult.No)
            {
                return;
            }

            string status = "Отменен";

            try
            {
                if (dataGridView1.CurrentCell.Value.ToString() != status && dataGridView1.CurrentCell.Value.ToString() == "Новый")
                {
                    MySqlConnection conn = DB.GetDBConnection();
                    try
                    {
                        conn.Open();
                    }
                    catch
                    {
                        MessageBox.Show(
                            "Проблемы с подключением к БД",
                            "Сообщение",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Error,
                            MessageBoxDefaultButton.Button1);
                    }

                    try
                    {
                        DateTime now = DateTime.Now;
                        string   sql = $"UPDATE orders SET state='{status}', updated_at='{now}' WHERE id={dataGridView1.Rows[int.Parse(dataGridView1.CurrentCellAddress.Y.ToString())].Cells[0].Value}";
                        Console.WriteLine(sql);
                        MySqlCommand cmd = conn.CreateCommand();
                        cmd.CommandText = sql;
                        cmd.ExecuteNonQuery();

                        conn.Close();
                    }

                    catch (Exception er)
                    {
                        MessageBox.Show(
                            $"Не удалось передать заказ, повторите попытку (Ошибка {er})",
                            "Сообщение",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Error,
                            MessageBoxDefaultButton.Button1);
                    }

                    dataGridView1.CurrentCell.Value = status;

                    MessageBox.Show(
                        $"Сатус изменен на {dataGridView1.CurrentCell.Value}",
                        "Сообщение",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Information,
                        MessageBoxDefaultButton.Button1);
                }
                else
                {
                    MessageBox.Show(
                        $"Невозможно отменить заказ. Заказ уже отменен или находится в РАБОТЕ!",
                        "Сообщение",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Information,
                        MessageBoxDefaultButton.Button1);
                }
            }

            catch (Exception er)
            {
                MessageBox.Show(
                    $"Ничего не выбрано, попробуйте снова",
                    "Сообщение",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error,
                    MessageBoxDefaultButton.Button1);
            }
        }