public async Task <ActionResult> AddToCart(string code) { ModelState.Clear(); if (WishList == null) { _wishlist = _cartService.LoadOrCreateCart(_cartService.DefaultWishListName); } if (WishList.GetAllLineItems().Any(item => item.Code.Equals(code, StringComparison.OrdinalIgnoreCase))) { return(WishListMiniCartDetails()); } var result = _cartService.AddToCart(WishList, code, 1); if (result.EntriesAddedToCart) { _orderRepository.Save(WishList); await _recommendationService.TrackWishlistAsync(HttpContext); return(WishListMiniCartDetails()); } return(new HttpStatusCodeResult(500, result.GetComposedValidationMessage())); }
public ActionResult AddToCart(string code) { string warningMessage = string.Empty; ModelState.Clear(); if (WishList == null) { _wishlist = _cartService.LoadOrCreateCart(_cartService.DefaultWishListName); } if (WishList.GetAllLineItems().Any(item => item.Code.Equals(code, StringComparison.OrdinalIgnoreCase))) { return(WishListMiniCartDetails()); } if (_cartService.AddToCart(WishList, code, out warningMessage)) { _orderRepository.Save(WishList); return(WishListMiniCartDetails()); } // HttpStatusMessage can't be longer than 512 characters. warningMessage = warningMessage.Length < 512 ? warningMessage : warningMessage.Substring(512); return(new HttpStatusCodeResult(500, warningMessage)); }