private static void PizzaSelectionMenu() { CurrentPizzaOrder = new PizzaOrder(CurrentShopLocation.ShopID, ActiceUser.UserId); System.Console.WriteLine("Step-2: Pizza(s) Selection: "); bool addMorePizzas = true; while (addMorePizzas) { System.Console.WriteLine("1- Signiture Pizza"); System.Console.WriteLine("2- Custom Pizza"); System.Console.Write("Pizza Choice: "); int pizzaChoice = Convert.ToInt32(Console.ReadLine()); bool pizzaAddedFlag = false; switch (pizzaChoice) { case 1: System.Console.WriteLine("Choose one of the following recipes: "); DisplayPizzaRecipes(PizzaRecipesDataRetriever.GetInstance().PizzaRecipesList); System.Console.Write("Recipe Choice: "); int recipeChoice = Convert.ToInt32(Console.ReadLine()); IPizza newPizza = PizzaRecipesDataRetriever.GetInstance().PizzaRecipesList[recipeChoice - 1]; newPizza = PizzaSizeMenu(newPizza); newPizza = PizzaCrustMenu(newPizza); newPizza = PizzaToppingsMenu(newPizza, 2); pizzaAddedFlag = CurrentPizzaOrder.AddPizzaToOrder(newPizza); break; case 2: IPizza customPizza = new PlainPizza(); customPizza = PizzaSizeMenu(customPizza); customPizza = PizzaCrustMenu(customPizza); customPizza = PizzaToppingsMenu(customPizza, 1); pizzaAddedFlag = CurrentPizzaOrder.AddPizzaToOrder(customPizza); break; } if (pizzaAddedFlag) { System.Console.WriteLine($"Pizza Added. Your order has: {CurrentPizzaOrder.GetTotalPizzaCount()} pizza(s)"); System.Console.WriteLine("Do you want to add more pizzas?"); System.Console.WriteLine("1- Yes 2- No"); System.Console.Write("Add Pizza Choice: "); int addPizzaChoice = Convert.ToInt32(Console.ReadLine()); addMorePizzas = (addPizzaChoice == 1)? true : false; } else { System.Console.WriteLine("Pizza Count/Total Order Cost Limit Reached!!!"); addMorePizzas = false; } } }
public IActionResult AddSignaturePizza(string pizzaSignatureCode, string pizzaSizeCode, string pizzaCrustCode, List <string> pizzaToppingCodes) { byte [] orderArr; HttpContext.Session.TryGetValue("newOrder", out orderArr); PizzaOrder curOrder = PizzaOrder.ByteArrayToObject(orderArr); IPizza newPizza = PizzaRecipesDataRetriever.GetInstance() .PizzaRecipesList[Convert.ToInt32(pizzaSignatureCode)]; newPizza = new PizzaSizeDecorator(newPizza, PizzaSizeDataRetriever .GetInstance().PizzaSizeList[Convert.ToInt32(pizzaSizeCode)]); newPizza = new PizzaCrustDecorator(newPizza, PizzaCrustDataRetriever .GetInstance().PizzaCrustList[Convert.ToInt32(pizzaCrustCode)]); foreach (var item in pizzaToppingCodes) { newPizza = new PizzaToppingDecorator(newPizza, PizzaToppingsDataRetriever .GetInstance().PizzaToppingsList[Convert.ToInt32(item)]); } bool pizzaAdded = curOrder.AddPizzaToOrder(newPizza); HttpContext.Session.Set("newOrder", curOrder.ObjectToByteArray()); if (pizzaAdded) { ViewData["msg"] = $"Pizza Added. Your order has: {curOrder.GetTotalPizzaCount()} pizza(s)"; } else { ViewData["msg"] = "Pizza Count/Total Order Cost Limit Reached!!!"; } ViewData["orderCount"] = curOrder.GetTotalPizzaCount(); return(View("PizzaSelectionPage")); }
public IActionResult SignaturePizzaSelectionAction() { return(View("SignaturePizzaSelectionPage", PizzaRecipesDataRetriever.GetInstance().PizzaRecipesList)); }