public async Task <IActionResult> UpdateCartItem(int bookId, [FromBody] CartItemForUserUpdateDto input)
        {
            if (ModelState.IsValid)
            {
                var userId = GetUserId();
                if (userId == "error")
                {
                    return(Unauthorized());
                }
                var cartItemInDB = await _cartItemService.GetCartItemById(bookId, userId);

                var result = await _cartItemService.UpdateCartItem(_mapper.Map(input, cartItemInDB));

                if (result)
                {
                    return(RedirectToAction("GetCartItemsByUserId"));
                }
            }
            return(BadRequest(new { message = ModelState.Values.First().Errors[0].ErrorMessage }));
        }
        public async Task <ActionResult> Edit_CartItem(CartItemDTO cartItem)
        {
            //When entered data is not valid
            if (cartItem == null)
            {
                return(NotFound());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));//400 status code
            }

            //CartItem existingCartItem = _context.CartItems.Include(i => i.Product).FirstOrDefault(s => s.ProductId == cartItem.ProductId);

            if (_service.UpdateCartItem(cartItem) == null)
            {
                return(NotFound());
            }

            await _service.UpdateCartItem(cartItem);

            return(Ok(cartItem));//Return newly updated CartItem
        }