Пример #1
0
        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()));
        }
Пример #2
0
        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));
        }