Beispiel #1
0
        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));
        }
Beispiel #2
0
        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));
        }