private void DeleteRow(object sender, EventArgs e) { PictureBox pb = (PictureBox)sender; int rowIndex = Convert.ToInt32(pb.Tag); basketTableLayoutPanel.SuspendLayout(); // delete all controls of row that we want to delete for (int i = 0; i < basketTableLayoutPanel.ColumnCount; i++) { var control = basketTableLayoutPanel.GetControlFromPosition(i, rowIndex); basketTableLayoutPanel.Controls.Remove(control); } // move up row controls that comes after row we want to remove for (int i = rowIndex + 1; i < basketTableLayoutPanel.RowCount; i++) { for (int j = 0; j < basketTableLayoutPanel.ColumnCount; j++) { var control = basketTableLayoutPanel.GetControlFromPosition(j, i); if (control != null) { basketTableLayoutPanel.SetRow(control, i - 1); if (j > 1) { control.Tag = i - 1; } } } } var removeStyle = basketTableLayoutPanel.RowCount - 1; if (basketTableLayoutPanel.RowStyles.Count > removeStyle) { basketTableLayoutPanel.RowStyles.RemoveAt(removeStyle); } basketTableLayoutPanel.RowCount--; totalPrice = totalPrice - (float.Parse(Basket_list[rowIndex - 1][3]) * int.Parse(Basket_list[rowIndex - 1][5])); totalPricelabel.Text = "Total Price: " + totalPrice + " €"; Basket_list.RemoveAt(rowIndex - 1); if (basketTableLayoutPanel.RowCount == 1) { basketTableLayoutPanel.Visible = false; noItemsLabel.Visible = true; totalPricelabel.Text = "Total Price: 0 €"; } basketTableLayoutPanel.ResumeLayout(); }
private void OkButton_Click(object sender, EventArgs e) { creditCardNumberTextBox.Text = creditCardNumberTextBox.Text.Replace("-", ""); if (creditCardComboBox.Text.Equals(string.Empty)) { creditCardErrorLabel.Visible = true; } else { creditCardErrorLabel.Visible = false; } if (creditCardNumberTextBox.Text.Equals(string.Empty)) { creditCardNumberErrorLabel.Text = "*Credit Card Number is required"; creditCardNumberErrorLabel.Visible = true; } else { match = cardRegex.Match(creditCardNumberTextBox.Text); if (!match.Success) { creditCardNumberErrorLabel.Text = "*Credit Card Number is not valid"; creditCardNumberErrorLabel.Visible = true; } else { creditCardNumberErrorLabel.Visible = false; } } if (monthComboBox.Text.Equals(string.Empty)) { expiredMonthErrorLabel.Visible = true; } else { expiredMonthErrorLabel.Visible = false; } if (yearComboBox.Text.Equals(string.Empty)) { expiredYearErrorLabel.Visible = true; } else { expiredYearErrorLabel.Visible = false; } if (ccvTextBox.Text.Equals(string.Empty)) { cvvErrorLabel.Visible = true; } else { cvvErrorLabel.Visible = false; int count = 0; foreach (char c in ccvTextBox.Text) { count++; if (!char.IsDigit(c) || count > 3) { cvvErrorLabel.Text = "*CVV code must contains 3 digits"; cvvErrorLabel.Visible = true; break; } } } if (creditCardErrorLabel.Visible || creditCardNumberErrorLabel.Visible || expiredMonthErrorLabel.Visible || expiredYearErrorLabel.Visible || cvvErrorLabel.Visible) { return; } string date = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"); dbconn.Select("INSERT INTO bookstore_schema.orders (order_email, order_items, order_price, order_date) VALUES ('" + email + "', '" + bookItems + "', " + totalPrice + ", '" + date + "');"); dt = dbconn.Select("SELECT order_id as id FROM bookstore_schema.orders WHERE order_email = '" + email + "' AND order_date = '" + date + "' AND received_date IS NULL;"); Thread.Sleep(2000); Thread completeOrder = new Thread(delegate() { string orderID = dt.Rows[0]["id"].ToString(); Thread.Sleep(10000); dbconn.ExecuteNonQuery("UPDATE bookstore_schema.orders SET received_date = '" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "' WHERE order_id = " + orderID + ";"); }); completeOrder.Name = "CopleteOrder"; completeOrder.IsBackground = true; completeOrder.Start(); basketTableLayoutPanel.RowCount = 1; MessageBox.Show("Order confirmed!", "Confirmation", MessageBoxButtons.OK); Basket_list.Clear(); this.Close(); }
private void checkQuantity(object sender, EventArgs e) { NumericUpDown quant = (NumericUpDown)sender; int row = Convert.ToInt32(quant.Tag); if (quant.Value > int.Parse(Basket_list[row - 1][4])) { basketTableLayoutPanel.GetControlFromPosition(2, row).BackColor = Color.Red; } else { basketTableLayoutPanel.GetControlFromPosition(2, row).BackColor = Color.White; } if (Convert.ToInt32(quant.Value) == 0) { basketTableLayoutPanel.SuspendLayout(); // delete all controls of row that we want to delete for (int i = 0; i < basketTableLayoutPanel.ColumnCount; i++) { var control = basketTableLayoutPanel.GetControlFromPosition(i, row); basketTableLayoutPanel.Controls.Remove(control); } // move up row controls that comes after row we want to remove for (int i = row + 1; i < basketTableLayoutPanel.RowCount; i++) { for (int j = 0; j < basketTableLayoutPanel.ColumnCount; j++) { var control = basketTableLayoutPanel.GetControlFromPosition(j, i); if (control != null) { basketTableLayoutPanel.SetRow(control, i - 1); if (j > 1) { control.Tag = i - 1; } } } } var removeStyle = basketTableLayoutPanel.RowCount - 1; if (basketTableLayoutPanel.RowStyles.Count > removeStyle) { basketTableLayoutPanel.RowStyles.RemoveAt(removeStyle); } basketTableLayoutPanel.RowCount--; totalPrice = totalPrice - (float.Parse(Basket_list[row - 1][3]) * int.Parse(Basket_list[row - 1][5])); totalPricelabel.Text = "Total Price: " + totalPrice + " €"; Basket_list.RemoveAt(row - 1); if (basketTableLayoutPanel.RowCount == 1) { basketTableLayoutPanel.Visible = false; noItemsLabel.Visible = true; totalPricelabel.Text = "Total Price: 0 €"; } basketTableLayoutPanel.ResumeLayout(); } else if (quant.Value > int.Parse(Basket_list[row - 1][5])) { totalPrice += float.Parse(Basket_list[row - 1][3]); Basket_list[row - 1][5] = quant.Value.ToString(); totalPricelabel.Text = "Total Price: " + totalPrice + " €"; } else if (quant.Value < int.Parse(Basket_list[row - 1][5])) { totalPrice -= float.Parse(Basket_list[row - 1][3]); Basket_list[row - 1][5] = quant.Value.ToString(); totalPricelabel.Text = "Total Price: " + totalPrice + " €"; } }