// entrypoint to user story public static void UserOptions(User user) { var exit = false; do { System.Console.WriteLine("\nHow can we help you today?"); System.Console.WriteLine("1: Order pizzas"); System.Console.WriteLine("2: View your order history"); System.Console.WriteLine("3: Exit"); int selection; System.Console.Write("Your selection: "); int.TryParse(Console.ReadLine(), out selection); switch (selection) { // order pizzas option case 1: var storeList = _db.ReadAllStores(); // read stores from database System.Console.WriteLine("\nWhich store would you like to order from?"); for (int i = 0; i < storeList.Count; i++) { System.Console.WriteLine($"{i + 1}: {storeList[i].Name}"); } int storeId; System.Console.Write("Your selection: "); int.TryParse(Console.ReadLine(), out storeId); var store = storeList[storeId - 1]; // select a store to order from store.Toppings.AddRange(_db.ReadToppings()); store.Sizes.AddRange(_db.ReadSizes()); store.Crusts.AddRange(_db.ReadCrusts()); store.PizzaPresets.AddRange(Starter.GeneratePresets()); System.Console.WriteLine($"\nOrdering from {store.Name}"); var order = store.CreateOrder(user); // create an order System.Console.WriteLine(); try { OrderPizzas(order, user, store); // begin ordering pizzas } catch (Exception ex) { System.Console.WriteLine(ex.Message); } break; // view order history for user case 2: ViewOrderHistory(user); break; // exit application case 3: exit = true; System.Console.WriteLine("\nThank you, have a good day!"); break; } } while (!exit); }