private void BuildProcedure() { List <ProcedureStep> procedureSteps = new List <ProcedureStep>(); Procedure procedure = new Procedure("Maintainance", "Maintainance procedure of the Siemens CT."); myWorkflowGraph.AddNode(procedure); ProcedureStep submit = new ProcedureStep(ProcedureStepEunm.CreateStep.ToString(), "The CSE submit a maintain ticket."); ProcedureStep ticketCheck = new ProcedureStep(ProcedureStepEunm.TicketCheck.ToString(), "The Interface check the ticket."); ProcedureStep preAnalysis = new ProcedureStep(ProcedureStepEunm.PreAnalysis.ToString(), "The SE pre-analysis the issue and assign to RP."); ProcedureStep solve = new ProcedureStep(ProcedureStepEunm.Solve.ToString(), "The RP solve the issue."); ProcedureStep evaluate = new ProcedureStep(ProcedureStepEunm.Evaluate.ToString(), "The SE evaluate the solution."); ProcedureStep regression = new ProcedureStep(ProcedureStepEunm.Regression.ToString(), "The test center regression the soultion."); ProcedureStep feedback = new ProcedureStep(ProcedureStepEunm.Feedback.ToString(), "The CSE give a Feedback to the customer."); procedureSteps.Add(submit); procedureSteps.Add(ticketCheck); procedureSteps.Add(preAnalysis); procedureSteps.Add(solve); procedureSteps.Add(evaluate); procedureSteps.Add(regression); procedureSteps.Add(feedback); foreach (var curItem in procedureSteps) { myWorkflowGraph.AddNode(curItem); } ProcedureBuilder.BuildProcedure(myWorkflowGraph, procedure, procedureSteps); Edge newEdge = new Next("Submit"); myWorkflowGraph.AddEdge(submit, ticketCheck, newEdge); newEdge = new Next("Assign"); myWorkflowGraph.AddEdge(ticketCheck, preAnalysis, newEdge); newEdge = new Next("Assign"); myWorkflowGraph.AddEdge(preAnalysis, solve, newEdge); newEdge = new Next("Submit"); myWorkflowGraph.AddEdge(solve, evaluate, newEdge); newEdge = new Next("Assign"); myWorkflowGraph.AddEdge(evaluate, regression, newEdge); newEdge = new Next("Submit"); myWorkflowGraph.AddEdge(regression, feedback, newEdge); newEdge = new Next("Feedback"); myWorkflowGraph.AddEdge(ticketCheck, feedback, newEdge); newEdge = new Next("Feedback"); myWorkflowGraph.AddEdge(preAnalysis, feedback, newEdge); newEdge = new Next("Feedback"); myWorkflowGraph.AddEdge(evaluate, feedback, newEdge); newEdge = new Next("Rework"); myWorkflowGraph.AddEdge(evaluate, solve, newEdge); newEdge = new Next("Return"); myWorkflowGraph.AddEdge(regression, evaluate, newEdge); }