public int SelectBikeVariationId(int bikeId, BicycleColor bikeColor, BicycleSize bikeSize) { string bikeVariationIdQuery = "SELECT id " + "FROM BikeModel_variations " + "WHERE model = '" + bikeId + "' " + "AND color = '" + bikeColor.id + "' " + "AND size = '" + bikeSize.id + "'"; int variationId = 1; if (this.OpenConnection() == true) { //Create Command MySqlCommand cmd = new MySqlCommand(bikeVariationIdQuery, connection); //Create a data reader and Execute the command MySqlDataReader dataReader = cmd.ExecuteReader(); if (dataReader.HasRows) { dataReader.Read(); variationId = (int)dataReader["id"]; dataReader.Close(); this.CloseConnection(); } } return(variationId); }
private void buttonOrder_Click(object sender, EventArgs e) { if (comboBoxColor.SelectedItem != null && comboBoxSize.SelectedItem != null) { int bikeId = bicycle.id; BicycleColor color = (BicycleColor)comboBoxColor.SelectedItem; BicycleSize size = (BicycleSize)comboBoxSize.SelectedItem; int quantity = (int)numericUpDownQuantity.Value; float bikePrice = bicycle.price; int variationId = DBConnection.SelectBikeVariationId(bikeId, color, size); OrderItem orderItem = new OrderItem(variationId, quantity, bikePrice); client.AddOrderToCart(orderItem); Cart cartPage = new Cart(user, client); cartPage.Show(); this.Close(); } }
public void AddAvailableSize(BicycleSize size) { this.availableSizes.Add(size); }
public List <AvailableBicycle> SelectAvailableBikes() { string bikeQuery = "SELECT * FROM BikeModel"; string colorQuery = "SELECT * FROM Color"; string sizeQuery = "SELECT * FROM Size"; string bikeVariationQuery = "SELECT * FROM BikeModel_variations"; DataTable bikeDataTable; DataTable colorDataTable; DataTable sizeDataTable; DataTable bikeVariationDataTable; //Create a list to store the result List <AvailableBicycle> bikeList = new List <AvailableBicycle>(); List <BicycleColor> colorList = new List <BicycleColor>(); List <BicycleSize> sizeList = new List <BicycleSize>(); //Open connection if (this.OpenConnection() == true) { bikeDataTable = CreateDataTable(bikeQuery); colorDataTable = CreateDataTable(colorQuery); sizeDataTable = CreateDataTable(sizeQuery); bikeVariationDataTable = CreateDataTable(bikeVariationQuery); this.CloseConnection(); for (int i = 0; i < colorDataTable.Rows.Count; i++) { int id = (int)colorDataTable.Rows[i]["id"]; string color = (string)colorDataTable.Rows[i]["color"]; BicycleColor bikeColor = new BicycleColor(id, color); colorList.Add(bikeColor); } for (int i = 0; i < sizeDataTable.Rows.Count; i++) { int id = (int)sizeDataTable.Rows[i]["id"]; string size = (string)sizeDataTable.Rows[i]["size"]; BicycleSize bikeSize = new BicycleSize(id, size); sizeList.Add(bikeSize); } for (int i = 0; i < bikeDataTable.Rows.Count; i++) { int id = (int)bikeDataTable.Rows[i]["id"]; string name = (string)bikeDataTable.Rows[i]["bike_name"]; string description = (string)bikeDataTable.Rows[i]["description"]; float price = (float)bikeDataTable.Rows[i]["price"]; int imageId = (int)bikeDataTable.Rows[i]["image"]; AvailableBicycle availableBicycle = new AvailableBicycle(id, name, description, price, imageId); for (int j = 0; j < bikeVariationDataTable.Rows.Count; j++) { if ((int)bikeVariationDataTable.Rows[j]["model"] == id) { for (int k = 0; k < colorList.Count; k++) { if (!availableBicycle.availableColors.Contains(colorList[k]) && colorList[k].id == (int)bikeVariationDataTable.Rows[j]["color"]) { availableBicycle.AddAvailableColor(colorList[k]); break; } } for (int l = 0; l < sizeList.Count; l++) { if (!availableBicycle.availableSizes.Contains(sizeList[l]) && sizeList[l].id == (int)bikeVariationDataTable.Rows[j]["size"]) { availableBicycle.AddAvailableSize(sizeList[l]); break; } } } } bikeList.Add(availableBicycle); } return(bikeList); } else { return(bikeList); } }