コード例 #1
0
        private void BackToWindow(object sender, RoutedEventArgs e)
        {
            ChangeSparePartsData changeSparePartsData = new ChangeSparePartsData();

            changeSparePartsData.Show();
            this.Close();
        }
コード例 #2
0
        private void ChangeSparePartData_Click(object sender, RoutedEventArgs e)
        {
            ChangeSparePartsData changeSparePartsData = new ChangeSparePartsData();

            changeSparePartsData.Show();
            this.Close();
        }
コード例 #3
0
        private void SaveChanges(object sender, RoutedEventArgs e)
        {
            if (criterion.Text != string.Empty && searchCriterion.Text != string.Empty)
            {
                int sprPrtCode = Convert.ToInt32(searchCriterion.Text);
                if (criterion.Text == "Название запчасти")
                {
                    if (changingCriterion.Text != CheckSparePart.CheckSparePartName(changingCriterion.Text))
                    {
                        MessageBox.Show(CheckSparePart.CheckSparePartName(changingCriterion.Text));
                        return;
                    }
                    string        selectIdSprPrt = @"SELECT IDSparePartN FROM SparePartName WHERE SparePartN = '" + changingCriterion.Text + "'";
                    int           idSparePartN   = 0;
                    SqlConnection sqlConnection  = new SqlConnection(connectionString);
                    sqlConnection.Open();
                    SqlCommand    sqlCommand    = new SqlCommand(selectIdSprPrt, sqlConnection);
                    SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();
                    if (sqlDataReader.HasRows) // находим id-шник нового названия запчасти в базе
                    {
                        while (sqlDataReader.Read())
                        {
                            idSparePartN = Convert.ToInt32(sqlDataReader[0].ToString());
                        }
                    }
                    else
                    {
                        MessageBox.Show("В базе нет данных с таким названием запчасти.");
                        return;
                    }
                    sqlDataReader.Close();
                    using (SqlConnection updateRow = new SqlConnection(connectionString))
                        using (SqlCommand lastCommnd = updateRow.CreateCommand()) // обновляем информацию
                        {
                            lastCommnd.CommandText = "UPDATE SparePart SET IDSparePartN = @name WHERE SparePartNumber = @number";

                            lastCommnd.Parameters.AddWithValue("@name", idSparePartN);
                            lastCommnd.Parameters.AddWithValue("@number", sprPrtCode);

                            updateRow.Open();
                            lastCommnd.ExecuteNonQuery();
                            updateRow.Close();
                        }
                    sqlConnection.Close();
                }
                else if (criterion.Text == "Название автомобиля")
                {
                    if (changingCriterion.Text != CheckSparePart.CheckCarName(changingCriterion.Text))
                    {
                        MessageBox.Show(CheckSparePart.CheckCarName(changingCriterion.Text));
                        return;
                    }
                    string        selectIdSprPrt = @"SELECT IDCarModel FROM CarModel WHERE CarModelName = '" + changingCriterion.Text + "'";
                    int           idCarModel     = 0;
                    SqlConnection sqlConnection  = new SqlConnection(connectionString);
                    sqlConnection.Open();
                    SqlCommand    sqlCommand    = new SqlCommand(selectIdSprPrt, sqlConnection);
                    SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();
                    if (sqlDataReader.HasRows) // находим id-шник нового названия автомобиля в базе
                    {
                        while (sqlDataReader.Read())
                        {
                            idCarModel = Convert.ToInt32(sqlDataReader[0].ToString());
                        }
                    }
                    else
                    {
                        MessageBox.Show("В базе нет данных с таким названием автомобиля.");
                        return;
                    }
                    sqlDataReader.Close();
                    using (SqlConnection updateRow = new SqlConnection(connectionString))
                        using (SqlCommand lastCommnd = updateRow.CreateCommand()) // обновляем информацию
                        {
                            lastCommnd.CommandText = "UPDATE SparePart SET IDCarModel = @name WHERE SparePartNumber = @number";

                            lastCommnd.Parameters.AddWithValue("@name", idCarModel);
                            lastCommnd.Parameters.AddWithValue("@number", sprPrtCode);

                            updateRow.Open();
                            lastCommnd.ExecuteNonQuery();
                            updateRow.Close();
                        }
                    sqlConnection.Close();
                }
                else if (criterion.Text == "Дата изготовления")
                {
                    if (changingCriterion.Text != CheckSparePart.CheckCreationDate(changingCriterion.Text))
                    {
                        MessageBox.Show(CheckSparePart.CheckCreationDate(changingCriterion.Text));
                        return;
                    }
                    using (SqlConnection updateRow = new SqlConnection(connectionString))
                        using (SqlCommand lastCommnd = updateRow.CreateCommand()) // обновляем информацию
                        {
                            lastCommnd.CommandText = "UPDATE SparePart SET SparePartCreation = @date WHERE SparePartNumber = @number";
                            lastCommnd.Parameters.AddWithValue("@number", sprPrtCode);
                            lastCommnd.Parameters.AddWithValue("@date", changingCriterion.Text);

                            updateRow.Open();
                            lastCommnd.ExecuteNonQuery();
                            updateRow.Close();
                        }
                }
                else if (criterion.Text == "Стоимость одной детали")
                {
                    if (changingCriterion.Text != CheckSparePart.CheckSparePartCost(changingCriterion.Text))
                    {
                        MessageBox.Show(CheckSparePart.CheckSparePartCost(changingCriterion.Text));
                        return;
                    }
                    using (SqlConnection updateRow = new SqlConnection(connectionString))
                        using (SqlCommand lastCommnd = updateRow.CreateCommand()) // обновляем информацию
                        {
                            lastCommnd.CommandText = "UPDATE SparePart SET SparePartCost = @cost WHERE SparePartNumber = @number";
                            lastCommnd.Parameters.AddWithValue("@number", sprPrtCode);
                            lastCommnd.Parameters.AddWithValue("@cost", Convert.ToDouble(changingCriterion.Text));

                            updateRow.Open();
                            lastCommnd.ExecuteNonQuery();
                            updateRow.Close();
                        }
                }
                else if (criterion.Text == "Количество")
                {
                    if (changingCriterion.Text != CheckSparePart.CheckSparePartCount(changingCriterion.Text))
                    {
                        MessageBox.Show(CheckSparePart.CheckSparePartCount(changingCriterion.Text));
                        return;
                    }
                    using (SqlConnection updateRow = new SqlConnection(connectionString)) // обновляем информацию
                        using (SqlCommand lastCommnd = updateRow.CreateCommand())
                        {
                            lastCommnd.CommandText = "UPDATE SparePart SET SparePartCount = @count, IDStatus = (SELECT IDStatus FROM SparePartStatus WHERE StateName  = @status) WHERE SparePartNumber = @number";
                            if (Convert.ToInt32(changingCriterion.Text) == 0) // если новое кол-во 0, меняем статус на "нет в наличии"
                            {
                                lastCommnd.Parameters.AddWithValue("@number", sprPrtCode);
                                lastCommnd.Parameters.AddWithValue("@count", Convert.ToInt32(changingCriterion.Text));
                                lastCommnd.Parameters.AddWithValue("@status", "Нет в наличии");
                            }
                            else
                            {
                                lastCommnd.Parameters.AddWithValue("@number", sprPrtCode);
                                lastCommnd.Parameters.AddWithValue("@count", Convert.ToInt32(changingCriterion.Text));
                                lastCommnd.Parameters.AddWithValue("@status", "Есть в наличии");
                            }

                            updateRow.Open();
                            lastCommnd.ExecuteNonQuery();
                            updateRow.Close();
                        }
                }
            }
            else
            {
                MessageBox.Show("Вы не выбрали данные для изменения.");
                return;
            }
            MessageBoxResult mboxResult = MessageBox.Show("Данные обновлены. Желаете изменить что-нибудь еще?", "Предупреждение", MessageBoxButton.YesNo);

            if (mboxResult == MessageBoxResult.No)
            {
                ChangeSparePartsData changeSparePartsData = new ChangeSparePartsData();
                changeSparePartsData.Show();
                this.Close();
            }
        }