private void RedirectWorklistItem() { string fromUser = base.GetStringProperty(Constants.SOProperties.ManagementWorklist.FromUser, false); string toUser = base.GetStringProperty(Constants.SOProperties.ManagementWorklist.ToUser, true); int procInstId = base.GetIntProperty(Constants.SOProperties.ManagementWorklist.ProcessInstanceId, true); int actInstId = base.GetIntProperty(Constants.SOProperties.ManagementWorklist.ActivityInstanceDestinationId, true); int worklistItemId = base.GetIntProperty(Constants.SOProperties.ManagementWorklist.WorklistItemId, true); 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) { mngServer.RedirectWorklistItem(fromUser, toUser, procInstId, actInstId, worklistItemId); } }
//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 void RedirectWorklistItem() { string fromUser = base.GetStringProperty(Constants.Properties.ManagementWorklist.FromUser, false); string toUser = base.GetStringProperty(Constants.Properties.ManagementWorklist.ToUser, true); int procInstId = base.GetIntProperty(Constants.Properties.ManagementWorklist.ProcessInstanceId, true); int actInstId = base.GetIntProperty(Constants.Properties.ManagementWorklist.ActivityInstanceDestinationId, true); int worklistItemId = base.GetIntProperty(Constants.Properties.ManagementWorklist.WorklistItemId, true); 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); mngServer.RedirectWorklistItem(fromUser, toUser, procInstId, actInstId, worklistItemId); } }