static void UserView() { PrintAllUsersWithEF(); Console.WriteLine("Please input the name of the user you want."); User user; try { user = _sql.SelectUser(); } catch { Console.WriteLine("That's not a valid user, fool!"); return; } PrintAllStoresWithEF(); Console.WriteLine("Please input the name of the store you want."); try { user.SelectedStore = _sql.SelectStore(); } catch { Console.WriteLine("That's not a valid store, fool!"); return; } Console.WriteLine("Please select the type of pizza you'd like to order."); Console.WriteLine("Basic: $19.99"); Console.WriteLine("Meat Lovers: $29.99"); Console.WriteLine("Vegetarian: $24.99"); Console.WriteLine("Custom: $9.99 before customization"); Console.WriteLine("Or, type 'userorder' to view your own order history."); Console.WriteLine("Or, type 'storeorder' to view the store's order history."); string input = Console.ReadLine().ToUpper(); switch (input) { case "BASIC": Console.WriteLine("You have selected the basic pizza."); user.SelectedStore.CreateOrder(); user.Orders.Add(user.SelectedStore.Orders.Last()); user.Orders.Last().MakePizza("NORMAL", "MEDIUM", "cheese", "pepperoni", "", "", ""); break; case "MEAT LOVERS": Console.WriteLine("You have selected the meat lovers pizza."); user.SelectedStore.CreateOrder(); user.Orders.Add(user.SelectedStore.Orders.Last()); user.Orders.Last().MakePizza("NORMAL", "MEDIUM", "cheese", "pepperoni", "bacon", "ham", ""); break; case "VEGETARIAN": Console.WriteLine("You have selected the vegetarian pizza."); user.SelectedStore.CreateOrder(); user.Orders.Add(user.SelectedStore.Orders.Last()); user.Orders.Last().MakePizza("NORMAL", "MEDIUM", "cheese", "pineapple", "onion", "", ""); break; case "CUSTOM": Console.WriteLine("You have decided to build your own pizza."); Console.WriteLine("Please select a size."); Console.WriteLine("Normal: No price change"); Console.WriteLine("Large: +$5.00"); Console.WriteLine("Small: -$5.00"); string size = Console.ReadLine().ToUpper(); switch (size) { case "NORMAL": Console.WriteLine("You have selected a normal pizza."); break; case "LARGE": Console.WriteLine("You have selected a large pizza."); break; case "SMALL": Console.WriteLine("You have selected a small pizza."); break; default: Console.WriteLine("That's not a valid size, fool!"); return; } Console.WriteLine("Please select a crust."); Console.WriteLine("Normal: No price change"); Console.WriteLine("Cheese: +$5.00"); string crust = Console.ReadLine().ToUpper(); switch (crust) { case "NORMAL": Console.WriteLine("You have selected a normal crust."); break; case "CHEESE": Console.WriteLine("You have selected a cheese crust."); break; default: Console.WriteLine("That's not a valid crust, fool!"); return; } bool exit = false; bool cheese = false; bool pepperoni = false; bool bacon = false; bool ham = false; bool pineapple = false; bool onion = false; int toppingCount = 0; string input2; while (exit == false) { Console.WriteLine("Please select two to five toppings (+$5.00 each)."); if (cheese == false) { Console.WriteLine("Extra Cheese: Off"); } else { Console.WriteLine("Extra Cheese: On"); } if (pepperoni == false) { Console.WriteLine("Pepperoni: Off"); } else { Console.WriteLine("Pepperoni: On"); } if (bacon == false) { Console.WriteLine("Bacon: Off"); } else { Console.WriteLine("Bacon: On"); } if (ham == false) { Console.WriteLine("Ham: Off"); } else { Console.WriteLine("Ham: On"); } if (pineapple == false) { Console.WriteLine("Pineapple: Off"); } else { Console.WriteLine("Pineapple: On"); } if (onion == false) { Console.WriteLine("Onion: Off"); } else { Console.WriteLine("Onion: On"); } if (toppingCount >= 2 && toppingCount <= 5) { Console.WriteLine("Type 'done' to finish."); } input2 = Console.ReadLine().ToUpper(); switch (input2) { case "CHEESE": if (cheese == true) { cheese = false; toppingCount--; } else { cheese = true; toppingCount++; } break; case "EXTRA CHEESE": if (cheese == true) { cheese = false; toppingCount--; } else { cheese = true; toppingCount++; } break; case "PEPPERONI": if (pepperoni == true) { pepperoni = false; toppingCount--; } else { pepperoni = true; toppingCount++; } break; case "BACON": if (bacon == true) { bacon = false; toppingCount--; } else { bacon = true; toppingCount++; } break; case "HAM": if (ham == true) { ham = false; toppingCount--; } else { ham = true; toppingCount++; } break; case "PINEAPPLE": if (pineapple == true) { pineapple = false; toppingCount--; } else { pineapple = true; toppingCount++; } break; case "ONION": if (onion == true) { onion = false; toppingCount--; } else { onion = true; toppingCount++; } break; case "DONE": if (toppingCount >= 2 && toppingCount <= 5) { exit = true; } else { Console.WriteLine("You must have between two and five toppings."); } break; default: Console.WriteLine("That's not a valid topping, fool!"); break; } } user.SelectedStore.CreateOrder(); user.Orders.Add(user.SelectedStore.Orders.Last()); string[] toppings = new string[5]; toppings[0] = ""; toppings[1] = ""; toppings[2] = ""; toppings[3] = ""; toppings[4] = ""; for (int i = 0; i < 5; i++) { if (cheese == true) { toppings[i] = "extra_cheese"; cheese = false; continue; } if (pepperoni == true) { toppings[i] = "pepperoni"; pepperoni = false; continue; } if (bacon == true) { toppings[i] = "bacon"; bacon = false; continue; } if (ham == true) { toppings[i] = "ham"; ham = false; continue; } if (pineapple == true) { toppings[i] = "pineapple"; pineapple = false; continue; } if (onion == true) { toppings[i] = "onion"; onion = false; continue; } } user.Orders.Last().MakePizza(crust, size, toppings[0], toppings[1], toppings[2], toppings[3], toppings[4]); break; case "USERORDER": Console.WriteLine("You have decided to view your own order history."); IEnumerable <Order> myOrders = _sql.ReadAllOrders(); IEnumerable <APizzaModel> myPizzas = _sql.ReadAllPizzas(); List <Order> listOfOrders = new List <Order>(); foreach (var o in myOrders) { if (o.UserEntityId == user.EntityId) { listOfOrders.Add(o); } } foreach (var p in myPizzas) { foreach (var o in listOfOrders) { if (p.OrderEntityId == o.EntityId) { Console.WriteLine(p + ", Price: " + o.Price); } } } break; case "STOREORDER": Console.WriteLine("You have decided to view the store's order history."); myOrders = _sql.ReadAllOrders(); myPizzas = _sql.ReadAllPizzas(); listOfOrders = new List <Order>(); foreach (var o in myOrders) { if (o.StoreEntityId1 == user.SelectedStore.EntityId) { listOfOrders.Add(o); } } foreach (var p in myPizzas) { foreach (var o in listOfOrders) { if (p.OrderEntityId == o.EntityId) { Console.WriteLine(p + ", Price: " + o.Price); } } } break; default: Console.WriteLine("That's not a valid option, fool!"); return; } _sql.Update(); }