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)); }