public async Task <ActionResult <CartItem> > UpdateCart([FromBody] CartItem cartItem) { var userId = HttpContext.User.Identity.Name; cartItem.UserId = userId; var result = await _cartItemService.Update(cartItem); return(Ok(result)); }
public IActionResult Update(CartItem cartItem) { var result = _cartItemService.Update(cartItem); if (result.Success) { return(Ok(result)); } return(BadRequest(result)); }
public IActionResult Patch(int id, [FromBody] CartItemDto cartItemDto) { var cartItem = _mapper.Map <CartItem>(cartItemDto); cartItem.Id = id; var updatedCartItem = _cartItemService.Update(cartItem); var updatedCartItemDto = _mapper.Map <CartItemDto>(updatedCartItem); return(StatusCode((int)HttpStatusCode.Accepted, updatedCartItemDto)); }
public async Task <IActionResult> Update(Guid id, [FromBody] UpdateCartRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState.GetErrorMessages())); } try { var response = await _cartItemService.Update(id, request); return(Ok(response)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public void UpdateCart(int userId, CartItem item, Transaction transaction = null) { _cartItemService.Update(item, transaction); }
public DiscountApplicationStatus ApplyDiscountCoupon(DiscountCoupon discountCoupon, Cart cart) { if (!CanApplyDiscount(discountCoupon, cart.UserId, out var status)) { return(status); } //is there a min. total required if (discountCoupon.MinimumOrderSubTotal > 0 && discountCoupon.MinimumOrderSubTotal > GetOrderSubTotal(cart)) { return(DiscountApplicationStatus.NotEligibleForCart); } var cartItemUpdated = false; var cartUpdated = false; //check for restriction type switch (discountCoupon.RestrictionType) { case RestrictionType.Products: cartItemUpdated = ApplyProductDiscount(discountCoupon, cart); break; case RestrictionType.Categories: cartItemUpdated = ApplyCategoryDiscount(discountCoupon, cart); break; case RestrictionType.Users: cartItemUpdated = ApplyUserDiscount(discountCoupon, cart); break; case RestrictionType.UserGroups: cartItemUpdated = ApplyUserGroupDiscount(discountCoupon, cart); break; case RestrictionType.Roles: cartItemUpdated = ApplyRoleDiscount(discountCoupon, cart); break; case RestrictionType.Vendors: cartItemUpdated = ApplyVendorDiscount(discountCoupon, cart); break; case RestrictionType.Manufacturers: cartItemUpdated = ApplyManufacturerDiscount(discountCoupon, cart); break; case RestrictionType.PaymentMethods: cartUpdated = ApplyPaymentMethodDiscount(discountCoupon, cart); break; case RestrictionType.ShippingMethods: cartUpdated = ApplyShippingMethodDiscount(discountCoupon, cart); break; case RestrictionType.OrderTotal: cartUpdated = ApplyOrderTotalDiscount(discountCoupon, cart); break; case RestrictionType.OrderSubTotal: cartUpdated = ApplyOrderSubTotalDiscount(discountCoupon, cart); break; case RestrictionType.ShippingFee: cartUpdated = ApplyShippingDiscount(discountCoupon, cart); break; default: throw new ArgumentOutOfRangeException(); } if (cartUpdated || cartItemUpdated) { cart.DiscountCouponId = discountCoupon.Id; _cartService.Update(cart); if (cartUpdated) { return(DiscountApplicationStatus.Success); } } if (cartItemUpdated) { foreach (var cartItem in cart.CartItems) { _cartItemService.Update(cartItem); } return(DiscountApplicationStatus.Success); } return(DiscountApplicationStatus.NotEligibleForCart); }