public virtual JsonResult NextWizardStep(/*[ModelBinder(typeof(WizardModelBinder))]*/ [Deserialize] WizardViewModel model, FormCollection form) { var state = ViewModelSessionState; model.SetStepIndex(state != null ? state.StepIndex : 0); RemoveValidationRulesFromOtherSteps(model); if (Validate(ModelState, model)) { model.Errors = null; model.NextStep(); try { ProcessToNext(model); } catch (ValidationException valEx) { // Catch custom exceptions so decrease the stepindex model.PreviousStep(); // Return the errors to the client model.Errors = new List <WizardValidationResult>(); model.Errors.Add(new WizardValidationResult { MemberName = string.Empty, Message = valEx.ValidationResult.ErrorMessage }); } } ViewModelSessionState = model; return(Json(model.StepIndex)); }
public virtual JsonResult UpdateWizardStep([ModelBinder(typeof(WizardModelBinder))] WizardViewModel model) { var state = ViewModelSessionState; model.SetStepIndex(state != null ? state.StepIndex : 1); RemoveValidationRulesFromOtherSteps(model); Validate(ModelState, model); ProcessToUpdate(model); ViewModelSessionState = model; return(Json(model)); }
public virtual JsonResult PreviousWizardStep([ModelBinder(typeof(WizardModelBinder))] WizardViewModel model) { var state = ViewModelSessionState; model.SetStepIndex(state != null ? state.StepIndex : 1); ModelState.Clear(); model.Errors = null; model.stepIndex--; ProcessToPrevious(model); ViewModelSessionState = model; return(Json(model)); }
public virtual JsonResult PreviousWizardStep(/*[ModelBinder(typeof(WizardModelBinder))]*/ [Deserialize] WizardViewModel model, FormCollection form) { var state = ViewModelSessionState; model.SetStepIndex(state != null ? state.StepIndex : 0); ModelState.Clear(); model.Errors = null; model.CurrentStep.StepModel = this.FormCollectToObj <Type>(form); model.PreviousStep(); ProcessToPrevious(model); ViewModelSessionState = model; return(Json(model.StepIndex)); }
public virtual ActionResult UpdateWizardStep(/*[ModelBinder(typeof(WizardModelBinder))]*/ [Deserialize] WizardViewModel model, string stepDirection) { var state = ViewModelSessionState; model.SetStepIndex(state != null ? state.StepIndex : 0); RemoveValidationRulesFromOtherSteps(model); Validate(ModelState, model); ProcessToUpdate(model); ViewModelSessionState = model; TempData["WizardStep"] = model.CurrentStep; var routeData = new System.Web.Routing.RouteValueDictionary(model.CurrentStep); routeData.Add("Area", model.CurrentStep.GetActionUrl().Area); return(RedirectToAction( model.CurrentStep.GetActionUrl().Action, model.CurrentStep.GetActionUrl().Controller, new { Area = model.CurrentStep.GetActionUrl().Area })); }