Ejemplo n.º 1
0
        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));
        }
        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();
        }
Ejemplo n.º 4
0
    /// <summary>
    /// 获取下一个审批人(处理人/处理步骤/接收时间)
    /// </summary>
    /// <param name="formId"></param>
    /// <returns></returns>
    public static SourceCode.Workflow.Management.WorklistItems GetNextApprover(string formId)
    {
        WorkflowManagementServer wms = new WorkflowManagementServer();

        try
        {
            wms.Open(WorkflowHelper.GetConnString4Management());
            SourceCode.Workflow.Management.Criteria.WorklistCriteriaFilter wcf = new SourceCode.Workflow.Management.Criteria.WorklistCriteriaFilter();
            wcf.AddRegularFilter(WorklistFields.Folio, SourceCode.Workflow.Management.Criteria.Comparison.Like, formId);

            WorklistItems wlis = wms.GetWorklistItems(wcf);
            wms.Connection.Close();
            return(wlis);
        }
        catch
        {
            wms.Connection.Close();
            return(null);
        }
        finally
        {
        }
    }
        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);
                }
            }
        }