Sample code how to retrieve worklist item in K2 BlackPearl using Folio in WorkflowCriteria.
using System;
using System.Collections.Generic;
using System.Text;
using SourceCode.Hosting.Client;
using SourceCode.Workflow.Client;
 
namespace K2Samples
{    public class WorkflowAccessingSample
    {        public void RetrieveWorklistOpenItemBasedOnFolio()
        {            // TODO: Replace these placeholder values with values for your environment
            Worklist worklist = null;
            WorklistItem worklistitem = null;
            string _serverName = "blackpearl";
            string _user = "K2Student";
            string _domain = "DENALLIX";
            string _password = "K2pass!";
            SourceCode.Hosting.Client.BaseAPI.SCConnectionStringBuilder connectionString =
                new SourceCode.Hosting.Client.BaseAPI.SCConnectionStringBuilder();
            connectionString.Authenticate = true;
            connectionString.Host = "localhost";
            connectionString.Integrated = true;
            connectionString.IsPrimaryLogin = true;
            connectionString.Port = 5252;
            connectionString.UserID = _user;
            connectionString.WindowsDomain = _domain;
            connectionString.Password = _password;
            connectionString.SecurityLabelName = "K2"; //the default label
 
            // open a K2 connection
            Connection connection = new Connection();
            connection.Open(_serverName, connectionString.ToString());
            try
            {                WorklistCriteria wc = new WorklistCriteria();
                wc.AddFilterField(WCField.ProcessFolio, WCCompare.Equal, "NR - 1");
                // open the worklist item
                worklist = connection.OpenWorklist(wc);
                if (worklist.Count == 0)
                {                    Console.WriteLine("There has been a problem retrieving the K2 process
                      data. Please ensure that the account has rights to the K2
                      BlackPearl Workflow Item and that you are connecting to the
                      BlackPearl server.");                }
                else
                {
                    worklistitem = worklist[0];
                    // retrieve properties of worklist item
                    Console.WriteLine("Process Instance Name: " +
                    worklistitem.ProcessInstance.Name);                    Console.WriteLine("Process Destination: " +
                    worklistitem.ActivityInstanceDestination.Name);                    Console.WriteLine("Process Folio: " +
                    worklistitem.ProcessInstance.Folio);                    // get the workflow actions
                    string workflowActions = "Workflow Actions: ";
                    foreach (Action action in worklistitem.Actions)
                    {                        workflowActions += Environment.NewLine + action.Name;
                    }
                    // write actions to console
                    Console.WriteLine(workflowActions + Environment.NewLine);
                    Console.ReadLine();
                }
            }
            catch (Exception ex)
            {                // write error to console
                Console.WriteLine("Error: " + ex.Message);                Console.ReadLine();
            }
            finally
            {                // close the connection
                connection.Close();
            }
        }
    }
}
No comments:
Post a Comment