コード例 #1
0
        protected virtual ActionResult Resume(string submitButton, Guid workflowKey, [DeserializeAttribute] IWizardModel Wizard, IStepViewModel stepModel)
        {
            this.InitializeWorkflowType(Wizard.WorkflowType);
            WorkflowService = new WorkflowService((System.Activities.Activity)GetNewWorfklowActivityIntance());
            if (ModelState.IsValid || submitButton != "Next" || stepModel.DontValidateNextButton)
            {
                //Persist Models
                Wizard.Steps[Wizard.CurrentStepIndex] = stepModel;
                Wizard.Command = submitButton;
                //Wizard.Save();

                Wizard.SetUrlHelper(System.Web.HttpContext.Current.Request.RequestContext);
                //Resume Workflow
                WorkflowService.ResumeWorkflow(Wizard);

                WorkflowService.RunWorkflow(Wizard, string.Empty);

                WorkflowService.Unload();

                Providers.WizardModelStoreProviderManager.Provider.SaveByKey(Wizard.Id.ToString(), Wizard);
                //Wizard.Save();
                ModelState.Clear();

                if (WorkflowService.IsCompleted || !string.IsNullOrEmpty(Wizard.ReturnUrl))
                {
                    return(Redirect(Wizard.ReturnUrl));
                }
                else
                {
                    return(View("Index", Wizard));
                }
            }

            return(View("Index", Wizard));
        }
コード例 #2
0
        protected virtual ActionResult Resume(Guid workflowKey, System.Web.HttpContext Context)
        {
            //Load Store from Provider
            IWizardModel item = (IWizardModel)Providers.WizardModelStoreProviderManager.Provider.LoadFromKey(workflowKey.ToString());

            this.InitializeWorkflowType(item.WorkflowType);
            WorkflowService = new WorkflowService((System.Activities.Activity)GetNewWorfklowActivityIntance());


            item.UserPrincipal = Context.User;
            item.SetUrlHelper(Context.Request.RequestContext);

            // Determine which workflow step wizard is at, this would be were persisted data would be loaded from model
            String step = WorkflowService.ResumeWorkflow(item);

            WorkflowService.Unload();

            if (WorkflowService.IsCompleted || !string.IsNullOrEmpty(item.ReturnUrl))
            {
                return(Redirect(item.ReturnUrl));
            }
            else
            {
                return(View("Index", item));
            }
        }