public ActionResult BasicInfo(ShippingMethodEditorModel model) { var method = model.Id > 0 ? _shippingMethodService.Find(model.Id) : new ShippingMethod(); method.Name = model.Name; method.Description = model.Description; method.ShippingRateProviderName = model.ShippingRateProviderName; if (model.Id == 0) { _shippingMethodService.Create(method); } var shippingRateProvider = _shippingRateProviderFactory.FindByName(method.ShippingRateProviderName); string redirectUrl = null; var editor = shippingRateProvider as IHasCustomShippingRateProviderConfigEditor; if (editor != null || shippingRateProvider.ConfigType != null) { redirectUrl = Url.Action("ShippingRateProvider", RouteValues.From(Request.QueryString).Merge("id", method.Id)); } else { redirectUrl = Url.Action("Complete", RouteValues.From(Request.QueryString).Merge("id", method.Id)); } return(AjaxForm().RedirectTo(redirectUrl)); }
public ActionResult BasicInfo(int?id) { var model = new ShippingMethodEditorModel { AvailableShippingRateProviders = _shippingRateProviderFactory.All().ToSelectList().ToList() }; if (model.AvailableShippingRateProviders.Count > 0) { model.ShippingRateProviderName = model.AvailableShippingRateProviders[0].Value; } if (id != null) { var method = _shippingMethodService.Find(id.Value); model.Id = method.Id; model.Name = method.Name; model.Description = method.Description; model.ShippingRateProviderName = method.ShippingRateProviderName; } return(View(model)); }