//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.");
            }
        }