//кнопка логин выполняет проверку сауществования пользователя с введёнными логином и паролем в БД, если такой пользователь существует, открывается форма личный кабинет, а его данные заносятся в 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("Неверный логин или пароль!"); } }
//кнопка найти 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]); } } }
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); }
//Регистрация. 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(); }
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"); } }