Showing posts with label K2. Show all posts
Showing posts with label K2. Show all posts

Saturday, January 10, 2009

Retrieve Worklist Item using Folio In K2 BlackPearl

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();
            }
        }
    }
}