public WorklistItems GetWorklistItemsByProcInstId(int procInstId) { WorklistCriteriaFilter criteria = new WorklistCriteriaFilter(); RegularFilter rfPID = new RegularFilter(); RegularFilter rfActID = new RegularFilter(); rfPID.ColumnName = "PI.ID"; rfPID.ParameterValue = procInstId; rfPID.DbType = DbType.Int32; rfPID.Comparison = Comparison.Equals; rfPID.ParameterName = "@ICE_ProcInstID"; criteria.FilterCollection.Add(rfPID); return(_server.GetWorklistItems(criteria)); }
private void GetWorklist() { ServiceObject serviceObject = base.ServiceBroker.Service.ServiceObjects[0]; serviceObject.Properties.InitResultTable(); DataTable results = base.ServiceBroker.ServicePackage.ResultTable; WorkflowManagementServer mngServer = this.ServiceBroker.K2Connection.GetConnection <WorkflowManagementServer>(); using (mngServer.Connection) { WorklistCriteriaFilter filter = new WorklistCriteriaFilter(); WorklistItems wlItems = mngServer.GetWorklistItems(filter); foreach (WorklistItem wlItem in wlItems) { DataRow row = CreateWorklistItemRow(results, wlItem); results.Rows.Add(row); } } }
//sample that shows how to manage worklist items. //In this sample, we want to redirect all tasks from one user to another user public void ManageWorklistItems() { //establish the connection WorkflowManagementServer K2Mgmt = new WorkflowManagementServer(); K2Mgmt.CreateConnection(); K2Mgmt.Connection.Open("connectionstring"); //build up a filter for the list of worklist items. Here, we want to return all the worklist items for a specific user WorklistCriteriaFilter wlCritFilter = new WorklistCriteriaFilter(); wlCritFilter.AddRegularFilter(WorklistFields.Destination, Comparison.Like, "%user1%"); WorklistItems wlItems = K2Mgmt.GetWorklistItems(wlCritFilter); foreach (WorklistItem wlItem in wlItems) { K2Mgmt.RedirectWorklistItem("user1", "user2", wlItem.ProcInstID, wlItem.ActInstDestID, wlItem.ID); } //close the connection K2Mgmt.Connection.Close(); }
private WorklistItems GetWorklistItems(string serialNo) { WorklistCriteriaFilter criteria = new WorklistCriteriaFilter(); RegularFilter rfPID = new RegularFilter(); RegularFilter rfActID = new RegularFilter(); rfPID.ColumnName = "PI.ID"; rfPID.ParameterValue = serialNo.Substring(0, serialNo.IndexOf('_')); rfPID.DbType = DbType.Int32; rfPID.Comparison = Comparison.Equals; rfPID.ParameterName = "@ICE_ProcInstID"; criteria.FilterCollection.Add(rfPID); rfActID.Condition = RegularFilter.FilterCondition.AND; rfActID.ColumnName = "WLH.ActInstDestID"; rfActID.ParameterValue = serialNo.Substring(serialNo.IndexOf('_') + 1); rfActID.Comparison = Comparison.Equals; rfActID.ParameterName = "@ICE_ActInstID"; rfActID.DbType = DbType.Int32; criteria.FilterCollection.Add(rfActID); return(_server.GetWorklistItems(criteria)); }
public WorklistItem GetWorklistItem(int procInstId, string destUser) { WorklistCriteriaFilter criteria = new WorklistCriteriaFilter(); RegularFilter rfPID = new RegularFilter(); RegularFilter rfDestUser = new RegularFilter(); rfPID.ColumnName = "PI.ID"; rfPID.ParameterValue = procInstId; rfPID.DbType = DbType.Int32; rfPID.Comparison = Comparison.Equals; rfPID.ParameterName = "@ICE_ProcInstID"; criteria.FilterCollection.Add(rfPID); rfDestUser.ColumnName = "PI.Destination"; rfDestUser.ParameterValue = destUser; rfDestUser.DbType = DbType.String; rfDestUser.Comparison = Comparison.Equals; rfDestUser.ParameterName = "@ICE_Destination"; criteria.FilterCollection.Add(rfDestUser); var items = _server.GetWorklistItems(criteria); if (items.Count > 0) { for (int i = 0; i < items.Count; i++) { if ((items[i].Status == WorklistItem.WorklistStatus.Allocated || items[i].Status == WorklistItem.WorklistStatus.Open) && items[i].ProcessInstanceStatus == ProcessInstanceStatus.Active) { return(items[i]); } } } return(null); }
private void GetWorklist() { ServiceObject serviceObject = base.ServiceBroker.Service.ServiceObjects[0]; serviceObject.Properties.InitResultTable(); DataTable results = base.ServiceBroker.ServicePackage.ResultTable; WorkflowManagementServer mngServer = new WorkflowManagementServer(); using (mngServer.CreateConnection()) { mngServer.Open(BaseAPIConnectionString); WorklistCriteriaFilter filter = new WorklistCriteriaFilter(); WorklistItems wlItems = mngServer.GetWorklistItems(filter); foreach (WorklistItem wlItem in wlItems) { DataRow row = CreateWorklistItemRow(results, wlItem); results.Rows.Add(row); } } }