public IActionResult Menu() { OrderMenuViewModel orderMenuViewModel = new OrderMenuViewModel() { Order = _repo.Create((int)TempData.Peek("UserId"), (int)TempData.Peek("StoreId")) }; TempData["OrderId"] = orderMenuViewModel.Order.Id; return(View(orderMenuViewModel)); }
public IActionResult Clear() { _repo.DeletePizzas((int)TempData.Peek("OrderId")); ViewData["Status"] = "Pizzas removed from order!"; OrderMenuViewModel orderMenuViewModel = new OrderMenuViewModel() { Order = _repo.Read((int)TempData.Peek("OrderId")), Status = (string)ViewData["Status"] }; return(View("Menu", orderMenuViewModel)); }
public ActionResult MakeOrder() { OrderMenuViewModel menu = this.orderManager.GetOrderMenu(); ViewBag.AppetizersList = new SelectList(menu.Appetizers, "Id", "Name", "-- none --"); ViewBag.MainCoursesList = new SelectList(menu.MainCourses, "Id", "Name", "-- none --"); ViewBag.DessertsList = new SelectList(menu.Desserts, "Id", "Name", "-- none --"); if (this.User.IsInRole(PriviligedClient)) { return(this.View(nameof(OrdersController.MakeOrderPrivileged))); } return(this.View()); }
public OrderMenuViewModel GetOrderMenu() { SqlDataReader reader = this.ExecuteReader( @"SELECT mt.Name AS MealType, m.Id as MealId, m.Name AS MealName FROM Meals AS m JOIN MealTypes AS mt ON m.MealTypeId = mt.Id"); ICollection <MealDescription> appetizers = new List <MealDescription>(); ICollection <MealDescription> mainCourses = new List <MealDescription>(); ICollection <MealDescription> desserts = new List <MealDescription>(); using (reader) { while (reader.Read()) { string mealTypeName = reader.GetString(0); int mealId = reader.GetInt32(1); string mealName = reader.GetString(2); MealDescription meal = new MealDescription(mealId, mealName); switch (mealTypeName) { case "Предястие": appetizers.Add(meal); break; case "Основно ястие": mainCourses.Add(meal); break; case "Десерт": desserts.Add(meal); break; default: throw new InvalidOperationException("No such meal type: " + mealTypeName); } } } OrderMenuViewModel menu = new OrderMenuViewModel(appetizers, mainCourses, desserts); return(menu); }
public IActionResult AddCustom(CustomPizzaViewModel customPizzaViewModel) { if (ModelState.IsValid) { if (customPizzaViewModel.SelectedToppings.Count < 2 || customPizzaViewModel.SelectedToppings.Count > 5) { ViewData["Status"] = "Cannot add pizza; number of toppings must be between 2 and 5"; } else if (_repo.Read((int)TempData.Peek("OrderId")).Pizzas.Count == 50) { ViewData["Status"] = "Cannot add pizza; number of pizzas in an order cannot exceed 50."; } else if (_repo.ReadNewPrice(customPizzaViewModel.Crust, customPizzaViewModel.Size, customPizzaViewModel.SelectedToppings, (int)TempData.Peek("OrderId")) > 250.00m) { ViewData["Status"] = "Cannot add pizza; price of the order cannot exceed $250"; } //Create Pizza else { _repo.CreateCustomPizza(customPizzaViewModel.Crust, customPizzaViewModel.Size, customPizzaViewModel.SelectedToppings, (int)TempData.Peek("OrderId")); ViewData["Status"] = "Added new custom pizza!"; } //Return to menu with new OrderMenu OrderMenuViewModel orderMenuViewModel = new OrderMenuViewModel() { Order = _repo.Read((int)TempData.Peek("OrderId")), Status = (string)ViewData["Status"] }; return(View("Menu", orderMenuViewModel)); } customPizzaViewModel.Crusts = _repo.ReadCrusts(); customPizzaViewModel.Sizes = _repo.ReadSizes(); customPizzaViewModel.Toppings = _repo.ReadToppings(); return(View("CustomMenu", customPizzaViewModel)); }
public IActionResult AddPreset(PresetPizzaViewModel presetPizzaViewModel) { if (ModelState.IsValid) { //Check that the number of pizzas doesn't exceed 50 if (_repo.Read((int)TempData.Peek("OrderId")).Pizzas.Count == 50) { ViewData["Status"] = "Cannot add pizza; number of pizzas in an order cannot exceed 50."; } //Check that price doesn't exceed $250 else if (_repo.ReadNewPrice(presetPizzaViewModel.Name, (int)TempData.Peek("OrderId")) > 250.00m) { ViewData["Status"] = "Cannot add pizza; price of the order cannot exceed $250"; } //Create Pizza else { _repo.CreatePresetPizza(presetPizzaViewModel.Name, (int)TempData.Peek("OrderId")); ViewData["Status"] = "Added new preset pizza!"; } //Return to menu with new OrderMenu OrderMenuViewModel orderMenuViewModel = new OrderMenuViewModel() { Order = _repo.Read((int)TempData.Peek("OrderId")), Status = (string)ViewData["Status"] }; return(View("Menu", orderMenuViewModel)); } presetPizzaViewModel.PresetPizzas = _repo.ReadPresetPizzas(); return(View("PresetMenu", presetPizzaViewModel)); }