public JsonResult SetShippingMethods(SetShippingMethodsInputModel inputModel) { try { Assert.ArgumentNotNull(inputModel, "inputModel"); var validationResult = new BaseJsonResult(); this.ValidateModel(validationResult); if (validationResult.HasErrors) { return Json(validationResult, JsonRequestBehavior.AllowGet); } var response = this.CartManager.SetShippingMethods(CurrentStorefront, CurrentVisitorContext, inputModel); var result = new CSCartBaseJsonResult(response.ServiceProviderResult); if (!response.ServiceProviderResult.Success || response.Result == null) { return Json(result, JsonRequestBehavior.AllowGet); } result.Initialize(response.Result); return Json(result, JsonRequestBehavior.AllowGet); } catch (Exception e) { CommerceLog.Current.Error("SetShippingMethods", this, e); return Json(new BaseJsonResult("SetShippingMethods", e), JsonRequestBehavior.AllowGet); } }
public JsonResult SetShippingMethods(SetShippingMethodsInputModel inputModel) { try { Assert.ArgumentNotNull(inputModel, "inputModel"); var validationResult = new BaseJsonResult(); this.ValidateModel(validationResult); if (validationResult.HasErrors) { return Json(validationResult, JsonRequestBehavior.AllowGet); } var response = this.CartManager.SetShippingMethods(CurrentStorefront, CurrentVisitorContext, inputModel); var result = new AXCartBaseJsonResult(response.ServiceProviderResult); if (!response.ServiceProviderResult.Success || response.Result == null) { return Json(result, JsonRequestBehavior.AllowGet); } // QUERYING FOR THE CART AGAIN BECAUSE THE SHIPPING COST AND TAX TOTAL ARE NOT BEING UPDATED // ON THE RETURNED CART OF THE SETSHIPPINGMETHOD REQUEST var cartResponse = this.CartManager.GetCurrentCart(CurrentStorefront, CurrentVisitorContext, true); result.SetErrors(cartResponse.ServiceProviderResult); if (cartResponse.ServiceProviderResult.Success && response.Result != null) { result.Initialize(cartResponse.Result); } return Json(result, JsonRequestBehavior.AllowGet); } catch (Exception e) { CommerceLog.Current.Error("SetShippingMethods", this, e); return Json(new BaseJsonResult("SetShippingMethods", e), JsonRequestBehavior.AllowGet); } }