Beispiel #1
0
        public JsonResult RemoveDiscount(DiscountInputModel model)
        {
            try
            {
                Assert.ArgumentNotNull(model, "model");

                var validationResult = new BaseJsonResult();
                this.ValidateModel(validationResult);
                if (validationResult.HasErrors)
                {
                    return(Json(validationResult, JsonRequestBehavior.AllowGet));
                }

                var response = this.CartManager.RemovePromoCodeFromCart(CurrentStorefront, CurrentVisitorContext, model.PromoCode);
                var result   = new AXCartBaseJsonResult(response.ServiceProviderResult);
                if (response.ServiceProviderResult.Success && response.Result != null)
                {
                    result.Initialize(response.Result);
                }

                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                CommerceLog.Current.Error("RemoveDiscount", this, e);
                return(Json(new BaseJsonResult("RemoveDiscount", e), JsonRequestBehavior.AllowGet));
            }
        }
        public JsonResult RemoveDiscount(DiscountInputModel model)
        {
            try
            {
                Assert.ArgumentNotNull(model, nameof(model));

                var validationResult = this.CreateJsonResult();
                if (validationResult.HasErrors)
                {
                    return(Json(validationResult, JsonRequestBehavior.AllowGet));
                }

                var response = CartManager.RemovePromoCodeFromCart(CommerceUserContext.Current.UserId, model.PromoCode);
                var result   = new CartApiModel(response.ServiceProviderResult);
                if (response.ServiceProviderResult.Success && response.Result != null)
                {
                    result.Initialize(response.Result);
                }

                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                return(Json(new ErrorApiModel("RemoveDiscount", e), JsonRequestBehavior.AllowGet));
            }
        }
Beispiel #3
0
        public CSCartBaseJsonResult ApplyDiscount(DiscountInputModel model)
        {
            var response = _cartManager.AddPromoCodeToCart(CurrentStorefront, CurrentVisitorContext, model.PromoCode);
            var result   = new CSCartBaseJsonResult(response.ServiceProviderResult);

            if (response.ServiceProviderResult.Success && response.Result != null)
            {
                result.Initialize(response.Result, _productResolver);
            }

            return(result);
        }
        public void ApplyDiscount_ShoudReturn_ModelThatContainingPassedPromoCode(Database db)
        {
            _mocks.MockContexts(db);
            var model = new DiscountInputModel
            {
                PromoCode = Models.TestPromoCode
            };

            Models.AddPromoToCommerceCart(model.PromoCode);

            var result = _cartRepository.ApplyDiscount(model);

            Models.RefreshCommerceCart();

            result.PromoCodes.Any(pc => pc.Equals(model.PromoCode)).Should().BeTrue();
        }
        public void ApplyDiscount_ShoudReturn_ModelWithIncrementedPromoCodesCount(Database db)
        {
            _mocks.MockContexts(db);
            var expectedCount = Models.CommerceCartStub.OrderForms[0].PromoCodes.Count + 1;
            var model         = new DiscountInputModel
            {
                PromoCode = Models.TestPromoCode
            };

            Models.AddPromoToCommerceCart(model.PromoCode);

            var result = _cartRepository.ApplyDiscount(model);

            Models.RefreshCommerceCart();

            result.PromoCodes.Count.Should().Be(expectedCount);
        }
Beispiel #6
0
        public JsonResult ApplyDiscount(DiscountInputModel model)
        {
            try
            {
                Assert.ArgumentNotNull(model, "model");
                var validationResult = new BaseJsonResult();
                this.ValidateModel(validationResult);

                if (validationResult.HasErrors)
                {
                    return(Json(validationResult, JsonRequestBehavior.AllowGet));
                }

                var result = _cartRepository.ApplyDiscount(model);

                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                _logger.LogError("ApplyDiscount", this, e);
                return(Json(new BaseJsonResult("ApplyDiscount", e), JsonRequestBehavior.AllowGet));
            }
        }