public IActionResult Delete(CartItem cartItem) { var result = _cartItemService.Delete(cartItem); if (result.Success) { return(Ok(result)); } return(BadRequest(result)); }
public async Task <ActionResult <CartItem> > DeleteCart([FromRoute] int id) { var result = await _cartItemService.Delete(id); if (result == null) { return(NotFound(new APIResponse(404, "Such an id not found"))); } return(Ok(result)); }
public async Task <IActionResult> Delete(Guid id) { if (!ModelState.IsValid) { return(BadRequest(ModelState.GetErrorMessages())); } try { var response = await _cartItemService.Delete(id); return(Ok(response)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public IActionResult UpdateCart(UpdateCartModel cartModel) { if (!cartModel.DiscountCoupon.IsNullEmptyOrWhiteSpace()) { var discountStatus = _cartService.SetDiscountCoupon(ApplicationEngine.CurrentUser.Id, cartModel.DiscountCoupon); if (discountStatus == DiscountApplicationStatus.Success) { return(R.Success.Result); } else { return(R.Fail.With("status", discountStatus).Result); } } else if (cartModel.RemoveCoupon) { _cartService.ClearDiscountCoupon(ApplicationEngine.CurrentUser.Id); return(R.Success.Result); } if (!cartModel.GiftCode.IsNullEmptyOrWhiteSpace()) { //do nothing } if (cartModel.CartItemId.HasValue && cartModel.Quantity.HasValue) { //get the cart var cart = cartModel.IsWishlist ? _cartService.GetWishlist(ApplicationEngine.CurrentUser.Id) : _cartService.GetCart(ApplicationEngine.CurrentUser.Id); var cartItem = cart.CartItems.FirstOrDefault(x => x.Id == cartModel.CartItemId.Value); if (cartItem == null) { return(R.Fail.Result); } //is it to remove it completely if (cartModel.Quantity.Value == 0) { _cartItemService.Delete(cartItem); return(R.Success.Result); } var product = _productService.Get(cartItem.ProductId); if (product == null) { return(R.Fail.Result); } //reset shipping details cart.ShippingFee = 0; cart.ShippingMethodName = string.Empty; cart.ShippingMethodDisplayName = string.Empty; cart.ShippingOptionsSerialized = string.Empty; cart.SelectedShippingOption = string.Empty; _cartService.Update(cart); IActionResult validationResult = null; if (!product.HasVariants) { ValidateQuantityRange(cartModel.Quantity.Value, product, null, out validationResult); } //is the new quantity validated if (validationResult != null) { return(validationResult); } //are we tracking? if (product.TrackInventory) { if (!product.HasVariants) { //this shouldn't be hit ValidateProductQuantity(product, out validationResult); } else { //get the variant var variant = _productVariantService.Get(cartItem.ProductVariantId); ValidateVariantQuantity(cartModel.Quantity.Value, variant, out validationResult); } if (validationResult != null) { return(validationResult); } } cartItem.Quantity = cartModel.Quantity.Value; _cartService.UpdateCart(cart.UserId, cartItem); return(R.Success.Result); } return(R.Fail.Result); }
public void RemoveFromCart(int cartItemId, Transaction transaction = null) { _cartItemService.Delete(x => x.Id == cartItemId, transaction); }
public IActionResult Delete(int id) { _cartItemService.Delete(id); return(StatusCode((int)HttpStatusCode.NoContent)); }