/// <summary>
        /// Gets a list of all the workflows
        /// </summary>
        /// <returns></returns>
        public List <Workflow> GetProcesses()
        {
            List <Workflow> list = new List <Workflow>();

            SourceCode.Workflow.Management.WorkflowManagementServer workflowServer = new SourceCode.Workflow.Management.WorkflowManagementServer(servername, 5555);
            workflowServer.Open();
            try
            {
                SourceCode.Workflow.Management.Criteria.ProcessCriteriaFilter filter = new SourceCode.Workflow.Management.Criteria.ProcessCriteriaFilter();
                SourceCode.Workflow.Management.Processes processes = workflowServer.GetProcesses(filter);
                foreach (SourceCode.Workflow.Management.Process process in processes)
                {
                    if (process.DefaultVersion == true)
                    {
                        list.Add(
                            new Workflow
                        {
                            ID   = process.ProcID,
                            Name = process.FullName
                        }

                            );
                    }
                }
            }
            catch (Exception ex)
            {
                list.Add(
                    new Workflow
                {
                    ID   = 0,
                    Name = ex.Message
                }

                    );
            }
            finally
            {
                workflowServer.Connection.Close();
            }
            return(list);
        }
Esempio n. 2
0
        /// <summary>
        /// Returns a list of all the workflows on the environment
        /// </summary>
        /// <returns></returns>
        public static List <Process> WorkflowExplorer()
        {
            List <Process> list = new List <Process>();

            SourceCode.Workflow.Management.WorkflowManagementServer wrkmgt = new SourceCode.Workflow.Management.WorkflowManagementServer();
            wrkmgt.Connection.Open(ConnectToK2());
            try
            {
                wrkmgt.Open();
                SourceCode.Workflow.Management.Criteria.ProcessCriteriaFilter cf = new SourceCode.Workflow.Management.Criteria.ProcessCriteriaFilter();

                SourceCode.Workflow.Management.Processes processes = wrkmgt.GetProcesses(cf);


                foreach (SourceCode.Workflow.Management.Process process in processes)
                {
                    if (process.DefaultVersion == true)
                    {
                        list.Add(BuildWorkflow(process));
                    }
                }
            }
            catch (Exception ex)
            {
                list.Add(new Process
                {
                    Description = ex.Message,
                    Name        = ex.Source,
                    MetaData    = "Workflow Error"
                });
            }
            finally
            {
                wrkmgt.Connection.Close();
            }
            return(list);
        }