Exemplo n.º 1
0
        public ActionResult AddToCart([FromBody] PizzaToAddCartDto pizzaDto)
        {
            var cart = _cartSessionService.GetCart();


            decimal pizzaTypePrice = _pizzaTypeRepository.GetPizzaTypePrice(pizzaDto.PizzaTypeId);
            decimal sizeMultiplier = _sizeRepository.GetSizeMultiplier(pizzaDto.SizeId);
            decimal price          = _pizzaPriceCalculater.Calculate(sizeMultiplier, pizzaTypePrice, pizzaDto.EdgeTypeId, pizzaDto.NumberOfPizza);
            string  pizzaName      = _pizzaTypeRepository.GetPizzaTypeName(pizzaDto.PizzaTypeId);


            PizzaToAddCart pizzaToAddCart = new PizzaToAddCart
            {
                Id            = pizzaDto.PizzaTypeId,
                PizzaName     = pizzaName,
                NumberOfPizza = pizzaDto.NumberOfPizza,
                Price         = price,
                Toppings      = pizzaDto.Toppings
            };

            _cartService.AddTocart(cart, pizzaToAddCart);

            _cartSessionService.SetCart(cart);

            var cartFromSession = _cartSessionService.GetCart();
            int totalPizzas     = cartFromSession.TotalQuantity;

            return(Ok(totalPizzas));
        }