public IActionResult AddBurger([FromBody] BurgerOrderViewModel burgerOrder) { var cartId = _util.GetCartId(); Burger burger; if (burgerOrder.BurgerType == BurgerType.XCustom) { var ingredients = burgerOrder? .BurgerIngredients? .Select(ing => new BurgerIngredient() { Qty = ing.IngredientQty, Ingredient = _menuService.GetIngredientByType(ing.IngredientType) })?.ToList(); burger = new Burger(BurgerType.XCustom.ToString(), ingredients, burgerOrder.BurgerType); } else { burger = _menuService.GetBurgerByType(burgerOrder.BurgerType); } var order = _orderService.OrderBurger(cartId, burger); var orderBurgersPrices = order.OrderBurgersPrices(_saleService.GetActiveSales()); var cartViewModel = new CartViewModel() { BurgerPrices = orderBurgersPrices, TotalDiscount = orderBurgersPrices.Sum(sum => sum.Discount), BurgerQty = order.QtyBurgers(), Total = orderBurgersPrices.Sum(sum => sum.Price) }; return(PartialView("Cart", cartViewModel)); }
public IActionResult Index() { var burgers = _menuService.GetMenuBurgers(); var ingredients = _menuService.GetIngredients(); var menuViewModel = new BurgerMenuViewModel(); var burgersViewModel = new List <BurgerViewModel>(); foreach (var burger in burgers) { burgersViewModel.Add(new BurgerViewModel(burger)); } menuViewModel.Burgers = burgersViewModel; menuViewModel.Ingredients = ingredients .Select(ingredient => new IngredientViewModel() { IngredientDescription = ingredient.Description, IngredientQty = 1, IngredientType = ingredient.IngredientType }); var cartId = _util.GetCartId(); var order = _orderService.GetOrderByCartId(cartId); if (order != null) { var orderBurgersPrices = order.OrderBurgersPrices(_saleService.GetActiveSales()); var cartViewModel = new CartViewModel() { BurgerPrices = orderBurgersPrices, TotalDiscount = orderBurgersPrices.Sum(sum => sum.Discount), BurgerQty = order.QtyBurgers(), Total = orderBurgersPrices.Sum(sum => sum.Price) }; menuViewModel.CartViewModel = cartViewModel; } return(View(menuViewModel)); }