Exemplo n.º 1
0
        public async Task <ActionResult <ShoppingCartReadDTO> > AddCartItemToShoppingCart(CartItemCreateDTO cartItemCreateDto)
        {
            if (cartItemCreateDto == null)
            {
                return(BadRequest());
            }

            var email = User.FindFirst(ClaimTypes.Email).Value;

            await _shoppingCartService.AddCartItem(
                email,
                cartItemCreateDto.ProductId,
                cartItemCreateDto.Quantity);

            var model = await _shoppingCartService.GetShopingCartByEmail(email);

            var shoppingCartReadDto = new ShoppingCartReadDTO
            {
                ShoppingCartId = model.ShoppingCartId,
                TotalPrice     = model.TotalPrice,
                CartItems      = model.CartItems
            };

            return(CreatedAtRoute(nameof(GetShoppingCartByEmail), new { Id = shoppingCartReadDto.ShoppingCartId }, shoppingCartReadDto));
        }