Example #1
0
        //кнопка логин выполняет проверку сауществования пользователя с введёнными логином и паролем в БД, если такой пользователь существует, открывается форма личный кабинет, а его данные заносятся в UserDаta.
        private void buttonLogin_Click(object sender, EventArgs e)
        {
            string Userlogin = Loginfield.Text;
            string Userpass  = Passfield.Text;

            UsersDB db = new UsersDB();

            DataTable table = new DataTable();

            MySqlDataAdapter adapter = new MySqlDataAdapter();
            //задание команды поиска пользователя по паролю и логину.
            MySqlCommand command = new MySqlCommand("SELECT * FROM `users` WHERE `login` = @ul AND `password` = @up", db.getConnection());

            command.Parameters.Add("@ul", MySqlDbType.VarChar).Value = Userlogin;
            command.Parameters.Add("@up", MySqlDbType.VarChar).Value = Userpass;

            adapter.SelectCommand = command;
            adapter.Fill(table);
            //проверка на авторизацию
            if (table.Rows.Count > 0)
            {
                //успешная авторизация.
                UserData.ID       = int.Parse(table.Rows[0][0].ToString());
                UserData.Login    = table.Rows[0][1].ToString();
                UserData.Password = table.Rows[0][2].ToString();
                UserData.Email    = table.Rows[0][3].ToString();
                UserData.Access   = Convert.ToBoolean(int.Parse(table.Rows[0][4].ToString()));
                UserData.Name     = table.Rows[0][5].ToString();
                UserData.SurName  = table.Rows[0][6].ToString();
                UserData.Mobile   = table.Rows[0][7].ToString();
                UserData.Bascket.CountProducts = 0;

                CabinetForm newForm = new CabinetForm();
                newForm.Left = this.Left;
                newForm.Top  = this.Top;
                newForm.Show();
                this.Hide();
            }
            else
            {
                //не удалось авторизоваться.
                MessageBox.Show("Неверный логин или пароль!");
            }
        }
Example #2
0
        //кнопка найти
        private void button1_Click(object sender, EventArgs e)
        {
            //проверка на то что выбран хотя бы 1 жанр.
            if (!(AuthorcheckBox1.Checked || AuthorcheckBox2.Checked || AuthorcheckBox3.Checked || AuthorcheckBox4.Checked || AuthorcheckBox5.Checked || AuthorcheckBox6.Checked))
            {
                MessageBox.Show("Не выбрано ни одного жанра!");
                return;
            }
            //скрытие панелей.
            for (int i = 0; i < 4; i++)
            {
                P[i].pan.Visible = false;
            }

            UsersDB db = new UsersDB();

            MySqlDataAdapter adapter = new MySqlDataAdapter();
            MySqlCommand     command;

            //задание SQL команды для поиска по разным полям(название, художник, издатель, автор)
            if (radioButton2.Checked)
            {
                if (SearchField.Text == "")
                {
                    command = new MySqlCommand("SELECT * FROM `comics` WHERE (`genre` = @1 OR `genre` = @2 OR `genre` = @3 OR `genre` = @4 OR `genre` = @5 OR `genre` = @6)", db.getConnection());
                }
                else
                {
                    command = new MySqlCommand("SELECT * FROM `comics` WHERE `artist` LIKE @art AND (`genre` = @1 OR `genre` = @2 OR `genre` = @3 OR `genre` = @4 OR `genre` = @5 OR `genre` = @6)", db.getConnection());
                }
            }
            else if (radioButton3.Checked)
            {
                if (SearchField.Text == "")
                {
                    command = new MySqlCommand("SELECT * FROM `comics` WHERE (`genre` = @1 OR `genre` = @2 OR `genre` = @3 OR `genre` = @4 OR `genre` = @5 OR `genre` = @6)", db.getConnection());
                }
                else
                {
                    command = new MySqlCommand("SELECT * FROM `comics` WHERE `publish` LIKE @pb AND (`genre` = @1 OR `genre` = @2 OR `genre` = @3 OR `genre` = @4 OR `genre` = @5 OR `genre` = @6)", db.getConnection());
                }
            }
            else if (radioButton1.Checked)
            {
                if (SearchField.Text == "")
                {
                    command = new MySqlCommand("SELECT * FROM `comics` WHERE (`genre` = @1 OR `genre` = @2 OR `genre` = @3 OR `genre` = @4 OR `genre` = @5 OR `genre` = @6)", db.getConnection());
                }
                else
                {
                    command = new MySqlCommand("SELECT * FROM `comics` WHERE `author` LIKE @au AND (`genre` = @1 OR `genre` = @2 OR `genre` = @3 OR `genre` = @4 OR `genre` = @5 OR `genre` = @6)", db.getConnection());
                }
            }
            else
            {
                if (SearchField.Text == "")
                {
                    command = new MySqlCommand("SELECT * FROM `comics` WHERE (`genre` = @1 OR `genre` = @2 OR `genre` = @3 OR `genre` = @4 OR `genre` = @5 OR `genre` = @6)", db.getConnection());
                }
                else
                {
                    command = new MySqlCommand("SELECT * FROM `comics` WHERE `name_c` LIKE @nc AND (`genre` = @1 OR `genre` = @2 OR `genre` = @3 OR `genre` = @4 OR `genre` = @5 OR `genre` = @6)", db.getConnection());
                }
            }



            command.Parameters.Add("@nc", MySqlDbType.VarChar).Value  = "%" + SearchField.Text + "%";
            command.Parameters.Add("@art", MySqlDbType.VarChar).Value = "%" + SearchField.Text + "%";
            command.Parameters.Add("@pb", MySqlDbType.VarChar).Value  = "%" + SearchField.Text + "%";
            command.Parameters.Add("@au", MySqlDbType.VarChar).Value  = "%" + SearchField.Text + "%";

            string savetext = "";

            //заполнение заглушек в зависимости от выбраных жанров.

            if (AuthorcheckBox1.Checked)
            {
                command.Parameters.Add("@1", MySqlDbType.VarChar).Value = AuthorcheckBox1.Text;
                savetext = AuthorcheckBox1.Text;
            }
            if (AuthorcheckBox2.Checked)
            {
                command.Parameters.Add("@2", MySqlDbType.VarChar).Value = AuthorcheckBox2.Text;
                savetext = AuthorcheckBox2.Text;
            }
            if (AuthorcheckBox3.Checked)
            {
                command.Parameters.Add("@3", MySqlDbType.VarChar).Value = AuthorcheckBox3.Text;
                savetext = AuthorcheckBox3.Text;
            }
            if (AuthorcheckBox4.Checked)
            {
                command.Parameters.Add("@4", MySqlDbType.VarChar).Value = AuthorcheckBox4.Text;
                savetext = AuthorcheckBox4.Text;
            }
            if (AuthorcheckBox5.Checked)
            {
                command.Parameters.Add("@5", MySqlDbType.VarChar).Value = AuthorcheckBox5.Text;
                savetext = AuthorcheckBox5.Text;
            }
            if (AuthorcheckBox6.Checked)
            {
                command.Parameters.Add("@6", MySqlDbType.VarChar).Value = AuthorcheckBox6.Text;
                savetext = AuthorcheckBox6.Text;
            }

            if (!AuthorcheckBox1.Checked)
            {
                command.Parameters.Add("@1", MySqlDbType.VarChar).Value = savetext;
            }
            if (!AuthorcheckBox2.Checked)
            {
                command.Parameters.Add("@2", MySqlDbType.VarChar).Value = savetext;
            }
            if (!AuthorcheckBox3.Checked)
            {
                command.Parameters.Add("@3", MySqlDbType.VarChar).Value = savetext;
            }
            if (!AuthorcheckBox4.Checked)
            {
                command.Parameters.Add("@4", MySqlDbType.VarChar).Value = savetext;
            }
            if (!AuthorcheckBox5.Checked)
            {
                command.Parameters.Add("@5", MySqlDbType.VarChar).Value = savetext;
            }
            if (!AuthorcheckBox6.Checked)
            {
                command.Parameters.Add("@6", MySqlDbType.VarChar).Value = savetext;
            }
            //поиск по выбранному полю и выбранным жанрам и заполнение таблицы.
            DataTable searchTable = new DataTable();

            adapter.SelectCommand = command;
            adapter.Fill(searchTable);
            comicTable = searchTable;

            C = new ComicClass[comicTable.Rows.Count];

            currentPage = 1;
            //подсчет количества страниц.
            if (comicTable.Rows.Count % 4 == 0)
            {
                countOfPages = comicTable.Rows.Count / 4;
            }
            else
            {
                countOfPages = (comicTable.Rows.Count / 4) + 1;
            }

            Pages.Text = currentPage.ToString();
            //поиск не дал результатов.
            if (comicTable.Rows.Count == 0)
            {
                MessageBox.Show("Ничего не найдено");
            }
            //отображение перввых 4х товаров в форму.
            for (int i = 0; i < 4; i++)
            {
                if (i < comicTable.Rows.Count)
                {
                    C[i]             = new ComicClass();
                    C[i].ID          = int.Parse(comicTable.Rows[i][0].ToString());
                    C[i].PicURL      = comicTable.Rows[i][1].ToString();
                    C[i].name_comic  = comicTable.Rows[i][2].ToString();
                    C[i].description = comicTable.Rows[i][3].ToString();
                    C[i].price       = int.Parse(comicTable.Rows[i][4].ToString());
                    C[i].count       = int.Parse(comicTable.Rows[i][5].ToString());
                    C[i].author      = comicTable.Rows[i][6].ToString();
                    C[i].genre       = comicTable.Rows[i][7].ToString();
                    ShowPan(P[i], C[i]);
                }
            }
        }
Example #3
0
        private void SearchForm_Load(object sender, EventArgs e)
        {
            if (UserData.Login != null)
            {
                //отображение кнопки корзина и кнопок в корзину для авторизированных пользователей.
                pictureBox2.Visible = true;
                Product1Buy.Visible = true;
                Product2Buy.Visible = true;
                Product3Buy.Visible = true;
                Product4Buy.Visible = true;
            }
            //помещение в поисковую строку текста переданного в форму в качестве аргумента.
            SearchField.Text = request;

            UsersDB db = new UsersDB();

            AddProductPic.Visible = false;

            if (UserData.Access == true)
            {
                //отображение кнопки добавления товара при уровне доступа: администратор.
                AddProductPic.Visible = true;
            }

            MySqlDataAdapter adapter = new MySqlDataAdapter();

            MySqlCommand command = new MySqlCommand("SELECT * FROM `comics`", db.getConnection());

            //затолнение таблицы каталогом комиксов.
            adapter.SelectCommand = command;
            adapter.Fill(comicTable);

            C = new ComicClass[comicTable.Rows.Count];



            //подсчет количества страниц
            if (comicTable.Rows.Count % 4 == 0)
            {
                countOfPages = comicTable.Rows.Count / 4;
            }
            else
            {
                countOfPages = (comicTable.Rows.Count / 4) + 1;
            }

            Pages.Text = currentPage.ToString();



            //присвоение элементов панели соответствующим элементам массива Р.
            P[0]        = new ProductPanelClass();
            P[0].pan    = Product1Pan;
            P[0].name   = Product1Name;
            P[0].price  = Product1Price;
            P[0].genre  = Product1genre;
            P[0].button = Product1Buy;
            P[0].pic    = Product1Pic;

            P[1]        = new ProductPanelClass();
            P[1].pan    = Product2Pan;
            P[1].name   = Product2Name;
            P[1].price  = Product2Price;
            P[1].genre  = Product2genre;
            P[1].button = Product2Buy;
            P[1].pic    = Product2Pic;

            P[2]        = new ProductPanelClass();
            P[2].pan    = Product3Pan;
            P[2].name   = Product3Name;
            P[2].price  = Product3Price;
            P[2].genre  = Product3genre;
            P[2].button = Product3Buy;
            P[2].pic    = Product3Pic;

            P[3]        = new ProductPanelClass();
            P[3].pan    = Product4Pan;
            P[3].name   = Product4Name;
            P[3].price  = Product4Price;
            P[3].genre  = Product4genre;
            P[3].button = Product4Buy;
            P[3].pic    = Product4Pic;

            //считывание и отображение первых 4х товаров.
            for (int i = 0; i < 4; i++)
            {
                if (i < comicTable.Rows.Count)
                {
                    C[i]             = new ComicClass();
                    C[i].ID          = int.Parse(comicTable.Rows[i][0].ToString());
                    C[i].PicURL      = comicTable.Rows[i][1].ToString();
                    C[i].name_comic  = comicTable.Rows[i][2].ToString();
                    C[i].description = comicTable.Rows[i][3].ToString();
                    C[i].price       = int.Parse(comicTable.Rows[i][4].ToString());
                    C[i].count       = int.Parse(comicTable.Rows[i][5].ToString());
                    C[i].author      = comicTable.Rows[i][6].ToString();
                    C[i].genre       = comicTable.Rows[i][7].ToString();
                    ShowPan(P[i], C[i]);
                }
            }

            button1_Click(sender, e);
        }
Example #4
0
        //Регистрация.
        private void Registerbutton_Click(object sender, EventArgs e)
        {
            //вывод уведомления о пустых полях.
            if (LoginField.Text == "")
            {
                MessageBox.Show("Введите Логин");
                return;
            }
            if (NameField.Text == "")
            {
                MessageBox.Show("Введите Имя");
                return;
            }
            if (MobileField.Text == "")
            {
                MessageBox.Show("Введите Номер телефона");
                return;
            }
            if (SurNameField.Text == "")
            {
                MessageBox.Show("Введите Фамилию");
                return;
            }
            if (PassField.Text == "")
            {
                MessageBox.Show("Введите Пароль");
                return;
            }
            if (EmailField.Text == "")
            {
                MessageBox.Show("Введите E-mail");
                return;
            }
            //проверка на занятость e-mail адресса,если адрес занят то регистрация не удалась.
            if (isEmailExist())
            {
                MessageBox.Show("e-mail занят");
                return;
            }
            //проверка на зянятость логина, если логин занят то регистрация не удалась.
            if (isLoginExist())
            {
                MessageBox.Show("login занят");
                return;
            }
            //создание новой записи в таблице users с заданными пользователем данными.
            UsersDB      db      = new UsersDB();
            MySqlCommand command = new MySqlCommand("INSERT INTO `users`(`login`, `password`, `email`, `name`, `surname`, `mobile`) VALUES (@login, @password, @email, @name, @surname, @mobile)", db.getConnection());

            command.Parameters.Add("@login", MySqlDbType.VarChar).Value    = LoginField.Text;
            command.Parameters.Add("@password", MySqlDbType.VarChar).Value = PassField.Text;
            command.Parameters.Add("@email", MySqlDbType.VarChar).Value    = EmailField.Text;
            command.Parameters.Add("@name", MySqlDbType.VarChar).Value     = NameField.Text;
            command.Parameters.Add("@surname", MySqlDbType.VarChar).Value  = SurNameField.Text;
            command.Parameters.Add("@mobile", MySqlDbType.VarChar).Value   = MobileField.Text;

            db.openConnection();

            if (command.ExecuteNonQuery() == 1)
            {
                LogInForm newForm = new LogInForm();
                newForm.Left = this.Left;
                newForm.Top  = this.Top;
                newForm.Show();
                this.Hide();
                MessageBox.Show("Регистрация прошла успешно!");
            }
            else
            {
                MessageBox.Show("Ошибка регистрации.");
            }

            db.closeConnection();
        }
Example #5
0
        private void MainForm_Load(object sender, EventArgs e)
        {
            //проверка на администраторский уровень доступа.
            if (UserData.Access == true)
            {
                //отображение кнопки просмотра списка заказов если пользователь администратор.
                pictureBox4.Visible = true;
            }

            if (UserData.Login != null)
            {
                //отображение кнопки корзина если пользователь авторизован.
                pictureBox2.Visible = true;
            }


            //получение из таблицы comics информации о последних добавленных 3х комиксах
            UsersDB db = new UsersDB();

            DataTable comicTable = new DataTable();

            MySqlDataAdapter adapter = new MySqlDataAdapter();

            MySqlCommand command = new MySqlCommand("SELECT * FROM `comics` ORDER BY `id_c` DESC", db.getConnection());

            adapter.SelectCommand = command;
            adapter.Fill(comicTable);
            //занесение этой информации в С1 С2 и С3 и отображение названия и картинки новинок.
            if (comicTable.Rows.Count > 0)
            {
                C1.ID          = int.Parse(comicTable.Rows[0][0].ToString());
                C1.PicURL      = comicTable.Rows[0][1].ToString();
                C1.name_comic  = comicTable.Rows[0][2].ToString();
                C1.description = comicTable.Rows[0][3].ToString();
                C1.price       = int.Parse(comicTable.Rows[0][4].ToString());
                ComicPic1.Load(C1.PicURL);
                ComicName1.Text = C1.name_comic;
                if (comicTable.Rows.Count > 1)
                {
                    C2.ID          = int.Parse(comicTable.Rows[1][0].ToString());
                    C2.PicURL      = comicTable.Rows[1][1].ToString();
                    C2.name_comic  = comicTable.Rows[1][2].ToString();
                    C2.description = comicTable.Rows[1][3].ToString();
                    C2.price       = int.Parse(comicTable.Rows[1][4].ToString());
                    ComicPic2.Load(C2.PicURL);
                    ComicName2.Text = C2.name_comic;
                    if (comicTable.Rows.Count > 2)
                    {
                        C3.ID          = int.Parse(comicTable.Rows[2][0].ToString());
                        C3.PicURL      = comicTable.Rows[2][1].ToString();
                        C3.name_comic  = comicTable.Rows[2][2].ToString();
                        C3.description = comicTable.Rows[2][3].ToString();
                        C3.price       = int.Parse(comicTable.Rows[2][4].ToString());
                        ComicPic3.Load(C3.PicURL);
                        ComicName3.Text = C3.name_comic;
                    }
                }
            }
            else
            {
                //сообщение о отсутствии комиксов в каталоге.
                MessageBox.Show("No comics");
            }
        }