//Takes the values selected on a menu page and builds a menu item from that //TODO hard coded price for now //NEED TO FIX QUERY!!! private Menu.MenuItem BuildItem(string type) { Menu.MenuItem result; switch (type) { case "Ice Cream Scoop": result = new IceCreamScoop(type, FlavorCBox.SelectedItem.ToString(), ContainerCBox.SelectedItem.ToString(), int.Parse(SizeCBox.SelectedItem.ToString()), Connection.GetItemCost(type)); break; case "Sundae": result = new Sundae(FlavorCBox.SelectedItem.ToString(), ToppingCBox.SelectedItem.ToString(), CherryCBox.Checked, WhippedCreamCBox.Checked, Connection.GetItemCost(type)); break; case "Milkshake": result = new Milkshake(SyrupCBox.SelectedItem.ToString(), CherryCBox.Checked, WhippedCreamCBox.Checked, Connection.GetItemCost(type), FlavorCBox.SelectedItem.ToString()); break; case "Sides": result = new SideItem(SideItemsListbox.SelectedItem.ToString(), Connection.GetSideItemCost(SideItemsListbox.SelectedItem.ToString())); break; default: result = null; break; } return(result); }
private void PopulateHistory() { //HistoryListbox.Items.AddRange(Connection.OrderHistoryList(Viewer.Email).ToArray()); //Setup the form items now that they're ready and we have the data. HistoryTree.Nodes.Clear(); List <string> history = Connection.OrderHistoryList(Viewer.Email); if (history.Count > 0) { List <string> history_status = new List <string>(); foreach (string id in history) { List <string[]> orderItems = Connection.OrderFromOrderHistory(id); List <string> orderstatus = Connection.OrderStatusSummary(id); history_status.Add(orderstatus[3]); Order incoming = new Order(orderstatus[3], orderstatus[1], orderstatus[2]); foreach (string[] order in orderItems) { Menu.MenuItem result; switch (order[1]) { case "Ice Cream Scoop": result = new IceCreamScoop(order[1], order[2], order[4], int.Parse(order[5]), Connection.GetItemCost(order[1])); break; case "Sundae": result = new Sundae(order[2], order[3], true, true, Connection.GetItemCost(order[1])); break; case "Milkshake": result = new Milkshake(order[9], true, true, Connection.GetItemCost(order[1]), order[2]); break; case "Side Item": result = new SideItem(order[10], Connection.GetSideItemCost(order[10])); break; default: //should additional error checking be done here??? result = null; break; } if (!result.Equals(null)) { OrderItem add = new OrderItem(result, int.Parse(order[8])); incoming.AddItem(add); } } TreeNode top = HistoryTree.Nodes.Add(incoming.ToString()); foreach (OrderItem item in incoming.shoppingCart) { top.Nodes.Add(item.ToString()); } } } else { HistoryTree.Nodes.Add("No orders have been placed."); } }