Exemple #1
0
        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));
        }
Exemple #4
0
        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));
        }
Exemple #5
0
        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 }));
        }