public async Task <Int64> CreateCartItem(Int64 CartId, CreateCartItemRequest cartItemRequest) { var CartItem = new CartItem { CartId = CartId, ProductId = cartItemRequest.ProductId, Quantity = cartItemRequest.Quantity, CreatedAt = DateTime.Now }; var createItem = await _cartItemService.CreateCartItemAsync(CartItem); if (createItem > 0) { return(CartItem.Id); } return(0); }
public async Task <IActionResult> Create([FromBody] CreateCartItemRequest cartItemRequest) { var checkCartExist = await _cartService.GetCartByUserIdAsync(cartItemRequest.UserId); if (checkCartExist == null) { var CartId = await CreateCart(cartItemRequest.UserId); if (CartId > 0) { var CartItemId = await CreateCartItem(CartId, cartItemRequest); if (CartItemId > 0) { return(Ok(new { cartId = CartId, cartItemId = CartItemId, status = Ok().StatusCode, message = "Successfully Add" })); } } } else { var checkCartItemExist = await _cartItemService.GetCarItemtByValueAsync(checkCartExist.Id, cartItemRequest.ProductId); if (checkCartItemExist == null) { var CartItemId = await CreateCartItem(checkCartExist.Id, cartItemRequest); if (CartItemId > 0) { return(Ok(new { cartId = checkCartExist.Id, cartItemId = CartItemId, status = Ok().StatusCode, message = "Successfully Add" })); } } else { var _cartItem = new CartItem() { Id = checkCartItemExist.Id, CartId = checkCartItemExist.CartId, ProductId = checkCartItemExist.ProductId, Quantity = checkCartItemExist.Quantity }; var quantity = _cartItem.Quantity + cartItemRequest.Quantity; var updateCartItem = await UpdateCartItem(_cartItem.Id, quantity); if (updateCartItem == 1) { return(Ok(new { cartId = checkCartExist.Id, cartItemId = checkCartItemExist.Id, status = Ok().StatusCode, message = "Successfully Add" })); } } } return(NotFound(new ErrorResponse { message = "Not Found", status = NotFound().StatusCode })); }