public async Task <ActionResult> Add_To_Cart(CartItemDTO cartItem)
        {
            if (cartItem == null)
            {
                return(NotFound());
            }

            //When ModelState is Valid means then it is possible to correctly bind incoming values from request to the model then we add the CartItem to database
            //Otherwise we return BadRequest()
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));//400 status code
            }

            await _service.CreateCartItem(cartItem);

            return(Ok(cartItem)); //Finally return the newly added CartItem for user to see it
        }
        public async Task <IActionResult> CreateCartItem([FromBody] CartItemForUserCreateDto input)
        {
            try
            {
                var userId = GetUserId();
                if (userId == "error")
                {
                    return(Unauthorized());
                }
                var cartItemInDB = await _cartItemService.GetCartItemById(input.BookId, userId);

                if (cartItemInDB != null)
                {
                    cartItemInDB.Quantity++;
                    cartItemInDB.CreatedDate = DateTime.Now;
                    var isSuccess = await _cartItemService.UpdateCartItem(cartItemInDB);

                    if (isSuccess)
                    {
                        return(Ok(new { message = "Thêm vào giỏ hàng thành công" }));
                    }
                    return(BadRequest(new { message = "Có lỗi trong quá trình lưu dữ liệu" }));
                }
                var cartItem = new CartItems()
                {
                    BookID            = input.BookId,
                    ApplicationUserId = userId,
                    Quantity          = 1,
                    CreatedDate       = DateTime.Now
                };
                var result = await _cartItemService.CreateCartItem(cartItem);

                if (result)
                {
                    return(Ok(new { message = "Thêm vào giỏ hàng thành công" }));
                }
                return(BadRequest());
            }
            catch (System.Exception)
            {
                return(BadRequest());
            }
        }