public ActionResult GetCartContent() { if (_cart.Order.IsEmpty) { return(Ok("Your cart is empty")); } var viewCartContent = new ResponseViewModel(); double totalPrice = 0; foreach (var pizzaOrder in _cart.Order.Pizzas) { var pizzaDisplayModel = new PizzaViewModel(); foreach (var ingredient in pizzaOrder.PizzaIngredients) { var ingredientModel = new IngredientViewModel(); ingredientModel.Name = ingredient.Name; pizzaDisplayModel.PizzaIngredients.Add(ingredientModel); } foreach (var extraIngredient in pizzaOrder.ExtraIngredients) { var extraIngredientModel = new ExtraIngredientViewModel(); extraIngredientModel.Name = extraIngredient.Name; extraIngredientModel.MenuNumber = extraIngredient.MenuNumber; extraIngredientModel.Price = extraIngredient.Price; pizzaDisplayModel.ExtraIngredients.Add(extraIngredientModel); } pizzaDisplayModel.PizzaId = pizzaOrder.Id; pizzaDisplayModel.MenuNumber = pizzaOrder.MenuNumber; pizzaDisplayModel.Name = pizzaOrder.Name; pizzaDisplayModel.Price = pizzaOrder.Price; totalPrice += pizzaOrder.Price; viewCartContent.Pizzas.Add(pizzaDisplayModel); } foreach (var sodaOrder in _cart.Order.Sodas) { var sodaDisplayModel = new SodaViewModel(); sodaDisplayModel.Name = sodaOrder.Name; sodaDisplayModel.MenuNumber = sodaOrder.MenuNumber; sodaDisplayModel.Price = sodaOrder.Price; totalPrice += sodaOrder.Price; viewCartContent.Sodas.Add(sodaDisplayModel); } viewCartContent.TotalPrice = totalPrice; return(Ok(viewCartContent)); }
public async Task <IActionResult> Get() { var menu = await _context.Menus .Select(x => new { x.PizzaMenu, x.SodaMenu, x.IngredientMenu }) .FirstOrDefaultAsync(); var menuDisplayModel = new MenuViewModel(); foreach (var pizza in menu.PizzaMenu) { var pizzaDisplayModel = new PizzaMenuViewModel(); pizzaDisplayModel.MenuNumber = pizza.MenuNumber; pizzaDisplayModel.Name = pizza.Name; pizzaDisplayModel.Price = pizza.Price; foreach (var ingredient in pizza.PizzaIngredients) { var ingredientDisplayModel = new IngredientViewModel(); ingredientDisplayModel.Name = ingredient.Name; pizzaDisplayModel.PizzaIngredients.Add(ingredientDisplayModel); } menuDisplayModel.Pizzas.Add(pizzaDisplayModel); } foreach (var soda in menu.SodaMenu) { var sodaDisplayModel = new SodaViewModel(); sodaDisplayModel.MenuNumber = soda.MenuNumber; sodaDisplayModel.Name = soda.Name; sodaDisplayModel.Price = soda.Price; menuDisplayModel.Sodas.Add(sodaDisplayModel); } foreach (var extraIngredient in menu.IngredientMenu) { var extraIngredientDisplayModel = new ExtraIngredientViewModel(); extraIngredientDisplayModel.MenuNumber = extraIngredient.MenuNumber; extraIngredientDisplayModel.Name = extraIngredient.Name; extraIngredientDisplayModel.Price = extraIngredient.Price; menuDisplayModel.ExtraIngredients.Add(extraIngredientDisplayModel); } return(Ok(menuDisplayModel)); }
public async Task <IActionResult> Get() { // All non-completed orders var orders = await _context.Orders .Where(x => x.IsActive) .Select(x => new { x.Id, x.Pizzas, x.Sodas, x.TotalPrice }).ToListAsync(); var viewActiveOrders = new List <ResponseViewModel>(); double totalPrice = 0; foreach (var order in orders) { var viewActiveOrderModel = new ResponseViewModel(); foreach (var pizza in order.Pizzas) { var viewPizza = new PizzaViewModel(); foreach (var ingredient in pizza.PizzaIngredients) { var viewIngredient = new IngredientViewModel(); viewIngredient.Name = ingredient.Name; viewPizza.PizzaIngredients.Add(viewIngredient); } foreach (var extraIngredient in pizza.ExtraIngredients) { var viewExtraIngredient = new ExtraIngredientViewModel(); viewExtraIngredient.MenuNumber = extraIngredient.MenuNumber; viewExtraIngredient.Name = extraIngredient.Name; viewExtraIngredient.Price = extraIngredient.Price; viewPizza.ExtraIngredients.Add(viewExtraIngredient); } viewPizza.PizzaId = pizza.Id; viewPizza.MenuNumber = pizza.MenuNumber; viewPizza.Name = pizza.Name; viewPizza.Price = pizza.Price; totalPrice += pizza.Price; viewActiveOrderModel.Pizzas.Add(viewPizza); } foreach (var soda in order.Sodas) { var viewSoda = new SodaViewModel(); viewSoda.MenuNumber = soda.MenuNumber; viewSoda.Name = soda.Name; viewSoda.Price = soda.Price; totalPrice += soda.Price; viewActiveOrderModel.Sodas.Add(viewSoda); } viewActiveOrderModel.OrderId = order.Id; viewActiveOrderModel.TotalPrice = totalPrice; viewActiveOrders.Add(viewActiveOrderModel); totalPrice = 0; } return(Ok(viewActiveOrders)); }