/// <summary> /// Checks to see if there is an task /// </summary> /// <param name="ProcessInstanceId"></param> /// <param name="ProcessName"></param> /// <returns></returns> public Boolean IsTaskFound(int ProcessInstanceId, string ProcessName) { Boolean Result = false; SourceCode.Workflow.Management.WorkflowManagementServer wrkmgt = new SourceCode.Workflow.Management.WorkflowManagementServer(servername, 5555); SourceCode.Workflow.Management.WorklistItems worklistItems = null; wrkmgt.Open(); try { worklistItems = wrkmgt.GetWorklistItems("", "", "", "", "", "", ""); foreach (SourceCode.Workflow.Management.WorklistItem worklistItem in worklistItems) { if (worklistItem.ProcInstID == ProcessInstanceId) { Result = true; } } } catch (Exception ex) { Result = false; } finally { wrkmgt.Connection.Close(); } return(Result); }
/// <summary> /// Gets the number of active tasks for instance of a workflow /// </summary> /// <param name="ProcessInstanceId"></param> /// <returns></returns> public int GetTaskCount(int ProcessInstanceId, string ProcessName) { int Result = 0; int count = 0; SourceCode.Workflow.Management.WorkflowManagementServer wrkmgt = new SourceCode.Workflow.Management.WorkflowManagementServer(servername, 5555); SourceCode.Workflow.Management.WorklistItems worklistItems = null; wrkmgt.Open(); try { worklistItems = wrkmgt.GetWorklistItems("", "", "", "", "", "", ""); foreach (SourceCode.Workflow.Management.WorklistItem worklistItem in worklistItems) { if (worklistItem.ProcInstID == ProcessInstanceId) { count++; } } Result = count; } catch (Exception ex) { Result = 0; } finally { wrkmgt.Connection.Close(); } return(Result); }
public static List <ProcessDataFields> WorkflowXMLDataFieldsExplorer(int ProcessId) { List <ProcessDataFields> list = new List <ProcessDataFields>(); SourceCode.Workflow.Management.WorkflowManagementServer wrkmgt = new SourceCode.Workflow.Management.WorkflowManagementServer("dlx", 5555); try { wrkmgt.Open(); SourceCode.Workflow.Management.Criteria.ProcessCriteriaFilter cf = new SourceCode.Workflow.Management.Criteria.ProcessCriteriaFilter(); foreach (SourceCode.Workflow.Management.ProcessXMLField df in wrkmgt.GetProcessXMLFields(ProcessId)) { list.Add(DataFields(df)); } } catch (Exception ex) { list.Add(new ProcessDataFields { MetaData = ex.Message, Name = ex.Source, Category = "Workflow XML Datafield Error" }); } finally { wrkmgt.Connection.Close(); } return(list); }
/// <summary> /// Gets the details of particular workflow /// </summary> /// <param name="ProcessId"></param> /// <returns></returns> public static Process GetWorkflow(int ProcessId) { Process wkf = new Process(); SourceCode.Workflow.Management.WorkflowManagementServer wrkmgt = new SourceCode.Workflow.Management.WorkflowManagementServer(); wrkmgt.Connection.Open(ConnectToK2()); try { wrkmgt.Open(); wkf = BuildWorkflow(wrkmgt.GetProcess(ProcessId)); } catch (Exception ex) { wkf.Description = ex.Message; wkf.Name = ex.Source; wkf.MetaData = "Workflow Error"; } finally { wrkmgt.Connection.Close(); } return(wkf); }
/// <summary> /// Gets all the activities that are in a workflow /// </summary> /// <param name="ProcId"></param> /// <returns></returns> public List <ActivityDesign> GetWorkflowActivities(int ProcId) { List <ActivityDesign> list = new List <ActivityDesign>(); SourceCode.Workflow.Management.WorkflowManagementServer workflowServer = new SourceCode.Workflow.Management.WorkflowManagementServer(servername, 5555); workflowServer.Open(); try { foreach (SourceCode.Workflow.Management.Activity activity in workflowServer.GetProcActivities(ProcId)) { list.Add(new ActivityDesign { ID = activity.ID, Name = activity.Name, Description = activity.Description }); } } catch (Exception ex) { list.Add(new ActivityDesign { ID = 0, Name = "Error", Description = ex.Message }); } finally { workflowServer.Connection.Close(); } return(list); }
/// <summary> /// Initial for k2 connection. /// </summary> /// <param name="model"></param> public void Initial(K2ProfileModel model) { _model = this.SetValue(model.UserName, model.Password, model.ImpersonateUser); if (model.Management) { _connectionManagement = this.ConnectionManagement(_model); } else { _connection = this.Connection(_model); } }
/// <summary> /// Open connection management k2. /// </summary> /// <param name="model">The value for connect k2.</param> /// <returns></returns> private SourceCode.Workflow.Management.WorkflowManagementServer ConnectionManagement(K2ConnectModel model) { var managementServer = new SourceCode.Workflow.Management.WorkflowManagementServer(); try { model.K2Profile.UserName = ConfigurationManager.AppSettings[ConstantValueService.K2_ADMINUSERNAME]; model.K2Profile.Password = ConfigurationManager.AppSettings[ConstantValueService.K2_ADMINPASSWORD]; model.Port = Convert.ToInt32(ConfigurationManager.AppSettings[ConstantValueService.K2_MANAGEMENT_PORT]); string connectionString = this.GetConnectionString(model); managementServer.Open(connectionString); } catch (Exception ex) { throw new Exception("Unable to create management connection : " + ex.ToString()); } return(managementServer); }
/// <summary> /// Open connection management k2. /// </summary> /// <param name="model">The value for connect k2.</param> /// <returns></returns> private SourceCode.Workflow.Management.WorkflowManagementServer ConnectionManagement(K2ConnectModel model) { var managementServer = new SourceCode.Workflow.Management.WorkflowManagementServer(); try { model.K2Profile.UserName = ConfigSetting.K2AdminUserName; model.K2Profile.Password = ConfigSetting.K2AdminPassword; model.Port = Convert.ToInt32(ConfigSetting.K2ManagementPort); string connectionString = this.GetConnectionString(model); managementServer.Open(connectionString); } catch (Exception ex) { throw new Exception("Unable to create management connection : " + ex.ToString()); } return(managementServer); }
/// <summary> /// Gets details about the task /// </summary> /// <param name="ProcessInstanceId"></param> /// <returns></returns> public List <tasklist> GetTask(string ProcessInstanceId, string ProcessName) { int ProcInstId = 0; int.TryParse(ProcessInstanceId, out ProcInstId); List <tasklist> list = new List <tasklist>(); SourceCode.Workflow.Management.WorkflowManagementServer wrkmgt = new SourceCode.Workflow.Management.WorkflowManagementServer(servername, 5555); SourceCode.Workflow.Management.WorklistItems worklistItems = null; wrkmgt.Open(); try { worklistItems = wrkmgt.GetWorklistItems("", "", "", "", "", "", ""); foreach (SourceCode.Workflow.Management.WorklistItem worklistItem in worklistItems) { if (worklistItem.ProcInstID == ProcInstId) { var x = worklistItem.ActivityName; list.Add(new tasklist { Status = worklistItem.Status.ToString(), Destination = worklistItem.Destination, EventName = worklistItem.EventName, ActInstDestID = worklistItem.ActInstDestID.ToString(), ActivityName = worklistItem.ActivityName, SerialNumber = (ProcessInstanceId + "_" + worklistItem.ActInstDestID) }); } } } catch (Exception ex) { // Result = false; } finally { wrkmgt.Connection.Close(); } return(list); }
public static List <ProcessEvents> WorkflowEventsExplorer(int ActivityId) { List <ProcessEvents> list = new List <ProcessEvents>(); SourceCode.Workflow.Management.WorkflowManagementServer wrkmgt = new SourceCode.Workflow.Management.WorkflowManagementServer("dlx", 5555); try { wrkmgt.Open(); foreach (SourceCode.Workflow.Management.Event act in wrkmgt.GetActivityEvents(ActivityId)) { list.Add(new ProcessEvents { UseTrans = act.UseTrans, Pos = act.Pos, Excep = act.Excep, EventType = act.EventType.ToString(), CredentialUser = act.CredentialUser, Code = act.Code, Description = act.Description, ExpectedDuration = act.ExpectedDuration, ID = act.ID, MetaData = act.MetaData, Name = act.Name, Priority = act.Priority }); } } catch (Exception ex) { list.Add(new ProcessEvents { MetaData = ex.Message, Name = ex.Source, Description = "Workflow Activity Error" }); } finally { wrkmgt.Connection.Close(); } return(list); }
/// <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); }
public static List <ProcessActivities> WorkflowActivitiesExplorer(int ProcessId) { List <ProcessActivities> list = new List <ProcessActivities>(); SourceCode.Workflow.Management.WorkflowManagementServer wrkmgt = new SourceCode.Workflow.Management.WorkflowManagementServer("dlx", 5555); try { wrkmgt.Open(); foreach (SourceCode.Workflow.Management.Activity act in wrkmgt.GetProcActivities(ProcessId)) { list.Add(new ProcessActivities { Description = act.Description, ExpectedDuration = act.ExpectedDuration, ID = act.ID, IsStart = act.IsStart, MetaData = act.MetaData, Name = act.Name, Priority = act.Priority }); } } catch (Exception ex) { list.Add(new ProcessActivities { MetaData = ex.Message, Name = ex.Source, Description = "Workflow Activity Error" }); } finally { wrkmgt.Connection.Close(); } return(list); }
public static bool DeleteProcessInstance(int proinstaceid) { bool result = false; SourceCode.Workflow.Management.WorkflowManagementServer wms = new SourceCode.Workflow.Management.WorkflowManagementServer(); try { wms.Open(ConfigurationManager.AppSettings["K2ConnectionDel"]); //这个false代表是否会删除K2ServerLog中的数据,false代表不删除,true代表删除 wms.DeleteProcessInstances(proinstaceid, false); result = true; } catch (Exception) { result = false; throw; } finally { wms.Connection.Close(); } return(result); }
/// <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); }
public static List<WorkFlowActivities> WorkflowActivitiesExplorer(int ProcessId) { List<WorkFlowActivities> list = new List<WorkFlowActivities>(); SourceCode.Workflow.Management.WorkflowManagementServer wrkmgt = new SourceCode.Workflow.Management.WorkflowManagementServer("dlx", 5555); try { wrkmgt.Open(); foreach (SourceCode.Workflow.Management.Activity act in wrkmgt.GetProcActivities(ProcessId)) { list.Add(new WorkFlowActivities { Description = act.Description, ExpectedDuration = act.ExpectedDuration, ID = act.ID, IsStart = act.IsStart, MetaData = act.MetaData, Name = act.Name, Priority = act.Priority }); } } catch (Exception ex) { list.Add(new WorkFlowActivities { MetaData = ex.Message, Name = ex.Source, Description = "Workflow Activity Error" }); } finally { wrkmgt.Connection.Close(); } return list; }
public static List<WorkFlowEvents> WorkflowEventsExplorer(int ActivityId) { List<WorkFlowEvents> list = new List<WorkFlowEvents>(); SourceCode.Workflow.Management.WorkflowManagementServer wrkmgt = new SourceCode.Workflow.Management.WorkflowManagementServer("dlx", 5555); try { wrkmgt.Open(); foreach (SourceCode.Workflow.Management.Event act in wrkmgt.GetActivityEvents(ActivityId)) { list.Add(new WorkFlowEvents { UseTrans = act.UseTrans, Pos = act.Pos, Excep = act.Excep, EventType = act.EventType.ToString(), CredentialUser = act.CredentialUser, Code = act.Code, Description = act.Description, ExpectedDuration = act.ExpectedDuration, ID = act.ID, MetaData = act.MetaData, Name = act.Name, Priority = act.Priority }); } } catch (Exception ex) { list.Add(new WorkFlowEvents { MetaData = ex.Message, Name = ex.Source, Description = "Workflow Activity Error" }); } finally { wrkmgt.Connection.Close(); } return list; }
public static List<WorkFlow> WorkflowExplorer() { List<WorkFlow> list = new List<WorkFlow>(); SourceCode.Workflow.Management.WorkflowManagementServer wrkmgt = new SourceCode.Workflow.Management.WorkflowManagementServer("dlx", 5555); 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(new WorkFlow { Description = process.VersionDesc, Name = process.FullName, guid = process.ProcGuid, displayname = process.FullName, Instances = process.Instances.Count, Version = process.VersionNumber.ToString(), ProcessId = process.ProcID, MetaData = process.MetaData, Priority = process.Priority, ProcSetID = process.ProcSetID }); } } } catch (Exception ex) { list.Add(new WorkFlow { Description = ex.Message, Name = ex.Source, MetaData = "Workflow Error" }); } finally { wrkmgt.Connection.Close(); } return list; }
public static List<WorkFlowDataFields> WorkflowXMLDataFieldsExplorer(int ProcessId) { List<WorkFlowDataFields> list = new List<WorkFlowDataFields>(); SourceCode.Workflow.Management.WorkflowManagementServer wrkmgt = new SourceCode.Workflow.Management.WorkflowManagementServer("dlx", 5555); try { wrkmgt.Open(); SourceCode.Workflow.Management.Criteria.ProcessCriteriaFilter cf = new SourceCode.Workflow.Management.Criteria.ProcessCriteriaFilter(); foreach (SourceCode.Workflow.Management.ProcessXMLField df in wrkmgt.GetProcessXMLFields(ProcessId)) { list.Add(new WorkFlowDataFields { Audit = df.Audit, Category = df.Category, Hidden = df.Hidden, InitialValue = df.InitialValue.ToString(), MetaData = df.MetaData, Name = df.Name, OnDemand = df.OnDemand, Type = df.Type.ToString() }); } } catch (Exception ex) { list.Add(new WorkFlowDataFields { MetaData = ex.Message, Name = ex.Source, Category = "Workflow XML Datafield Error" }); } finally { wrkmgt.Connection.Close(); } return list; }