private void addItemOfOrder(MySqlDataReader orderReader, Order order, String[] orderColumn) { try { ItemOfOrder item = new ItemOfOrder(); item.Id = orderReader.GetInt32(findIndex(orderColumn, "P_Product_ID")); item.Quantity = orderReader.GetInt32(findIndex(orderColumn, "Order_quantity")); var conn = new MySqlConnection(connString); conn.Open(); string sqlStatement = "call GetBookInfo(" + item.Id.ToString() + ");"; var cmd = new MySqlCommand(sqlStatement, conn); var itemReader = cmd.ExecuteReader(); parseItemInfo(itemReader, order, item); sqlStatement = "call GetMagazineInfo(" + item.Id.ToString() + ");"; cmd = new MySqlCommand(sqlStatement, conn); itemReader = cmd.ExecuteReader(); parseItemInfo(itemReader, order, item); conn.Close(); } catch (Exception e) { Debug.WriteLine(e.ToString()); } }
private void parseItemInfo(MySqlDataReader itemReader, Order order, ItemOfOrder item) { while (itemReader.Read()) { string[] itemColumn = new string[itemReader.FieldCount]; for (int i = 0; i < itemReader.FieldCount; i++) { itemColumn[i] = itemReader.GetName(i); } item.Name = itemReader.GetString(findIndex(itemColumn, "Name")); item.UPrice = itemReader.GetInt32(findIndex(itemColumn, "Price")); item.Total = item.Quantity * item.UPrice; item.ImgUrl = itemReader.GetString(findIndex(itemColumn, "ImgUrl")); item.MaxQuantity = getProductQuantity(item.Id); //item.Type = "Book"; order.ItemsOfOrder.Add(item); order.Total += item.Total; } itemReader.Close(); }