new string[] { "ProcessInstanceId", "ProcessSetId", "ProcessId", "ExecutingProcessId", "FullName", "Folio", "Originator", "Status", "ExpectedDuraction", "StartDate", "FinishDate", "Priority", "ResultStatus", "ResultMessage" })] // , "IsDefaultVersion", "VersionDate", "VersionDescription", "VersionLabel", "VersionNumber" public LIM.ProcessInstance GetProcessInstance() { WorkflowManagementServer svr = new WorkflowManagementServer("localhost", 5555); try { svr.Open(); ProcessInstances instances = null; SourceCode.Workflow.Management.Criteria.ProcessInstanceCriteriaFilter filter = new SourceCode.Workflow.Management.Criteria.ProcessInstanceCriteriaFilter(); filter.AddRegularFilter(ProcessInstanceFields.ProcInstID, SourceCode.Workflow.Management.Criteria.Comparison.Equals, this.ProcessInstanceId); instances = svr.GetProcessInstancesAll(filter); if (instances != null & instances.Count > 0) { this.ExecutingProcessId = instances[0].ExecutingProcID; this.ExpectedDuration = instances[0].ExpectedDuration; this.FinishDate = instances[0].FinishDate; this.Folio = instances[0].Folio; this.FullName = instances[0].ProcSetFullName; //this.IsDefaultVersion = instances[0].Process.DefaultVersion; //this.Name = instances[0].Process.FullName; this.Originator = instances[0].Originator; this.Priority = instances[0].Priority; this.ProcessId = instances[0].ProcID; this.ProcessInstanceId = instances[0].ID; this.ProcessSetId = instances[0].ProcSetID; this.StartDate = instances[0].StartDate; this.Status = instances[0].Status; //this.VersionDescription = instances[0].Process.VersionDesc; //this.VersionDate = instances[0].Process.VersionDate; //this.VersionLabel = instances[0].Process.VersionLabel; //this.VersionNumber = instances[0].Process.VersionNumber; } } catch (Exception ex) { this.ResultStatus = "Exception"; this.ResultMessage = ex.GetBaseException().Message; return this; } finally { try { svr.Connection.Close(); svr.Connection.Dispose(); } catch { } svr = null; } return this; }
new string[] { "ProcessInstanceId", "ProcessSetId", "ProcessId", "ExecutingProcessId", "FullName", "Name", "Folio", "Originator", "Status", "ExpectedDuraction", "StartDate", "FinishDate", "Priority" })] // , "IsDefaultVersion", "VersionDate", "VersionDescription", "VersionLabel", "VersionNumber" public List<LIM.ProcessInstance> GetRunningProcessInstanceByVersion() { List<LIM.ProcessInstance> results = new List<ProcessInstance>(); WorkflowManagementServer svr = new WorkflowManagementServer("localhost", 5555); try { svr.Open(); ProcessInstances instances = null; SourceCode.Workflow.Management.Criteria.ProcessInstanceCriteriaFilter filter = new SourceCode.Workflow.Management.Criteria.ProcessInstanceCriteriaFilter(); filter.AddRegularFilter(ProcessInstanceFields.ProcID, SourceCode.Workflow.Management.Criteria.Comparison.Equals, this.ProcessId); instances = svr.GetProcessInstancesAll(filter); for (int i = 0; i < instances.Count; i++) { LIM.ProcessInstance pi = new ProcessInstance(); pi.ExecutingProcessId = instances[i].ExecutingProcID; pi.ExpectedDuration = instances[i].ExpectedDuration; pi.FinishDate = instances[i].FinishDate; pi.Folio = instances[i].Folio; pi.FullName = instances[i].ProcSetFullName; //pi.IsDefaultVersion = instances[i].Process.DefaultVersion; //pi.Name = instances[i].Process.FullName; pi.Originator = instances[i].Originator; pi.Priority = instances[i].Priority; pi.ProcessId = instances[i].ProcID; pi.ProcessInstanceId = instances[i].ID; pi.ProcessSetId = instances[i].ProcSetID; pi.StartDate = instances[i].StartDate; pi.Status = instances[i].Status; //pi.VersionDescription = instances[i].Process.VersionDesc; //pi.VersionDate = instances[i].Process.VersionDate; //pi.VersionLabel = instances[i].Process.VersionLabel; //pi.VersionNumber = instances[i].Process.VersionNumber; results.Add(pi); } } catch (Exception ex) { //this.ResultStatus = "Exception"; //this.ResultMessage = ex.GetBaseException().Message; //return this; } finally { try { svr.Connection.Close(); svr.Connection.Dispose(); } catch { } svr = null; } return results; }