//открытие предыдущей страницы с отображением соответствующих ей товаров. private void button3_Click(object sender, EventArgs e) { if (1 < currentPage) { for (int j = 0; j < 4; j++) { P[j].pan.Visible = false; } currentPage--; Pages.Text = currentPage.ToString(); int i = (currentPage * 4) - 4; for (; i <= (currentPage * 4 - 1); 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(); } } for (int j = 0; j < 4; j++) { if ((j + currentPage * 4 - 4) < comicTable.Rows.Count) { ShowPan(P[j], C[j + currentPage * 4 - 4]); } } } }
//функция отображающая в элементы панели Р информацию о комиксе из С. void ShowPan(ProductPanelClass Pi, ComicClass Ci) { Pi.pic.Load(Ci.PicURL); Pi.name.Text = Ci.name_comic; Pi.price.Text = Ci.price.ToString() + '$'; Pi.genre.Text = Ci.genre; Pi.pan.Visible = true; }
private void CabinetForm_Load(object sender, EventArgs e) { //заполнение полей информацией о пользователе. NameField.Text = UserData.Name; SurNameField.Text = UserData.SurName; MobileField.Text = UserData.Mobile; LoginLabel.Text = UserData.Login; EmailLabel.Text = UserData.Email; UsersDB db = new UsersDB(); MySqlDataAdapter adapter = new MySqlDataAdapter(); //поиск в БД заказов оформленных на текущего пользователя. MySqlCommand command = new MySqlCommand("SELECT * FROM `orders` WHERE `id_client` = @id", db.getConnection()); command.Parameters.Add("@id", MySqlDbType.VarChar).Value = UserData.ID; adapter.SelectCommand = command; adapter.Fill(orderTable); C = new ComicClass[orderTable.Rows.Count]; //заполнение С информацией о комиксах заказаных пользователем //пробег по всем заказам. for (int i = 0; i < orderTable.Rows.Count; i++) { if (i < orderTable.Rows.Count) { C[i] = new ComicClass(); C[i].genre = ""; C[i] = new ComicClass(); C[i].ID = int.Parse(orderTable.Rows[i][0].ToString()); C[i].price = int.Parse(orderTable.Rows[i][3].ToString()); Dictionary <int, int> M = UserData.Bascket.GetIds(orderTable.Rows[i][1].ToString()); int j = 0; //пробег по всем комиксам в текущем заказе foreach (KeyValuePair <int, int> kvp in M) { //создание и занесение в C[i].genre строки в которой перечисленны названия и количество заказаных пользователем комиксов. command = new MySqlCommand("SELECT * FROM `comics` WHERE `id_c` = @id", db.getConnection()); command.Parameters.Add("@id", MySqlDbType.VarChar).Value = kvp.Key; db.openConnection(); adapter.SelectCommand = command; adapter.Fill(table); C[i].genre += table.Rows[0][2] + " " + kvp.Value.ToString() + "шт.; "; table.Clear(); j++; } //отображение информации о казаче в поле label11. label11.Text += "Номер заказа: " + C[i].ID + " Товары: " + C[i].genre + " Сумма: " + C[i].price.ToString() + "$\n"; } } }
//кнопка найти 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); }