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