예제 #1
0
        private async void create_puzzle_Click(object sender, EventArgs e)
        {
            //Проверка на заполнение всех полей
            if (comboBox1.SelectedItem == null)
            {
                MessageBox.Show("Выберите номер уровня");
            }
            else if (comboBox2.SelectedItem == null)
            {
                MessageBox.Show("Выберите расположение фрагментов");
            }
            else if (select_pict.Text == "Выбрать картинку")
            {
                MessageBox.Show("Выберите картинку");
            }
            else
            {
                string pict = gal.getpicture_name();

                int number = Int32.Parse(comboBox1.SelectedItem.ToString());

                int loc = 0;
                if (comboBox2.SelectedItem.ToString() == "Лента")
                {
                    loc = 1;
                }
                else if (comboBox2.SelectedItem.ToString() == "Поле")
                {
                    loc = 0;
                }
                try
                {
                    //открытие соединения к БД
                    sqlConnection = new SqlConnection(connectionString);
                    await sqlConnection.OpenAsync();

                    //Добавление нового пазлав БД
                    SqlCommand command = new SqlCommand("INSERT INTO [Puzzles] (image, number_level, location) VALUES(@image, @number_level, @location)", sqlConnection);
                    command.Parameters.AddWithValue("image", pict);
                    command.Parameters.AddWithValue("number_level", number);
                    command.Parameters.AddWithValue("location", loc);
                    //await command.ExecuteNonQueryAsync();

                    if (isPuzzleExists())
                    {
                        return;
                    }
                    else if (command.ExecuteNonQuery() == 1)
                    {
                        //возвращение к меню администратора
                        AdminMenu menu = new AdminMenu();
                        menu.Show();
                        this.Hide();
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Ошибка подключения к базе данных.");
                }
            }
        }
예제 #2
0
        /* Обработчик события при нажатие на кнопку Готово
         */
        private async void button6_Click(object sender, EventArgs e)
        {
            //Проверка заполненности полей
            if (level == 0)
            {
                MessageBox.Show("Выберите номер уровня");
            }
            else if (comboBox1.SelectedItem == null)
            {
                MessageBox.Show("Выберите вид фрагментов");
            }
            else
            {
                int type = 0;
                if (comboBox1.SelectedItem.ToString() == "Прямоугольные")
                {
                    type = 1;
                }
                else if (comboBox1.SelectedItem.ToString() == "Треугольные")
                {
                    type = 0;
                }
                string connectionString = "Data Source=localhost;Initial Catalog=Puzzle;Integrated Security=True";
                sqlConnection = new SqlConnection(connectionString);

                try
                {
                    //открытие соединения с БД
                    await sqlConnection.OpenAsync();

                    //запрос в БД на проверку существования выбранного уровня
                    SqlCommand sqlCommand = new SqlCommand("SELECT number FROM Level WHERE number=@num", sqlConnection);
                    sqlCommand.Parameters.AddWithValue("num", level);

                    SqlDataReader reader = null;
                    reader = await sqlCommand.ExecuteReaderAsync();

                    string n = "";
                    while (await reader.ReadAsync())
                    {
                        n = reader["number"].ToString();
                    }
                    if (n != "")
                    {
                        reader.Close();
                        DialogResult dialogResult = MessageBox.Show("Этот уровень существует", "Уровень существует!", MessageBoxButtons.OK, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);
                        if (dialogResult == DialogResult.OK)
                        {
                            //возвращение к меню админинстратора
                            AdminMenu adminMenu = new AdminMenu();
                            adminMenu.Show();
                            this.Close();
                        }
                    }
                    else
                    {
                        reader.Close();
                        SqlCommand command = new SqlCommand("INSERT INTO [Level] (number, count_of_piece_horizontally,count_of_piece_vertically, type_of_piece) VALUES(@number, @count_horizon,@count_vertical, @type)", sqlConnection);
                        command.Parameters.AddWithValue("number", level);
                        command.Parameters.AddWithValue("count_horizon", numericUpDown2.Value);
                        command.Parameters.AddWithValue("count_vertical", numericUpDown1.Value);
                        command.Parameters.AddWithValue("type", type);
                        await command.ExecuteNonQueryAsync();
                    }
                    AdminMenu am = new AdminMenu();
                    am.Show();
                    Close();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Ошибка подключения к базе данных.");
                }
            }
        }