public ActionResult Index(string Command, string Step) { host = new WizardHost(new Workflow1(), bookmarkhistory); Dictionary <string, object> input = new Dictionary <string, object>(); IDictionary <string, object> output = new Dictionary <string, object>(); input["Context"] = workflowcontext; switch (Command) { case "Start": output = host.Start(input); break; case "Next": output = host.Next(input); break; case "Back": output = host.Back(input); break; case "GoTo": output = host.GoTo(input, Step); break; default: output = host.Start(input); break; } bookmarkhistory = host.GetBookmarkHistory(); workflowcontext = output["Context"] as WorkFlowContext; ViewData = workflowcontext.ViewData; ViewData["bookmarkhistory"] = bookmarkhistory; ViewData["currentbookmark"] = host.GetCurrentBookmark(); ViewData["PartialViewName"] = workflowcontext.ViewName; return(View()); }
static void Main(string[] args) { IDictionary <string, object> output = new Dictionary <string, object>() { }; //Workflow1 wf = new Workflow1(); //Activity1 wf = new Activity1(); Wizard wf = new Wizard(); WizardHost host = new WizardHost(wf); Dictionary <string, object> input = new Dictionary <string, object>(); input["Input"] = "Step3"; Console.WriteLine("--------WorkFlow Output Started------------"); output = host.Start(input); Console.WriteLine("--------WorkFlow Output Ended------------"); CustomBookmark currentbm = host.GetCurrentBookmark(); bool Continue = true; while (Continue) { Console.WriteLine("Select a command from below."); Console.WriteLine("1: Start"); if (currentbm.HasNext) { Console.WriteLine("2: Next"); } if (currentbm.HasBack) { Console.WriteLine("3: Back"); } Console.WriteLine("4: GoTo (Enter Step ID after a space)"); Console.WriteLine("0: Exit"); string[] inputstr = Console.ReadLine().Split(' '); String cmd = inputstr[0]; Console.WriteLine("--------WorkFlow Output Started------------"); switch (cmd) { case "1": host.Start(input); break; case "2": host.Next(input); break; case "3": host.Back(input); break; case "4": string stepid = inputstr[1]; host.GoTo(input, new CustomBookmark { StepID = stepid }); break; case "0": Continue = false; break; default: Console.WriteLine("Command Not Supported"); break; } List <CustomBookmark> bmlist = host.GetBookmarkHistory(); currentbm = host.GetCurrentBookmark(); // if (currentbm.StepID == "2") input["Input"] = "Step3"; Console.WriteLine("--------WorkFlow Output Ended . Step ID :" + currentbm.StepID + " ------------"); } }