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)); } }
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); }
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)); } }