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