Beispiel #1
0
        /// <summary>
        /// Records the test result
        /// </summary>
        /// <param name="TestRunId"></param>
        /// <param name="Actual"></param>
        /// <param name="Expected"></param>
        /// <param name="Sign"></param>
        private static void RecordResult(int TestRunId, object Actual, string Expected, string Sign)
        {
            SourceCode.Hosting.Client.BaseAPI.SCConnectionStringBuilder hostServerConnectionString = new SourceCode.Hosting.Client.BaseAPI.SCConnectionStringBuilder();
            hostServerConnectionString.Host           = "localhost";
            hostServerConnectionString.Port           = 5555;
            hostServerConnectionString.IsPrimaryLogin = true;
            hostServerConnectionString.Integrated     = true;

            SourceCode.SmartObjects.Client.SmartObjectClientServer serverName = new SourceCode.SmartObjects.Client.SmartObjectClientServer();
            serverName.CreateConnection();
            serverName.Connection.Open(hostServerConnectionString.ToString());

            try
            {
                SourceCode.SmartObjects.Client.SmartObject smartObject = serverName.GetSmartObject("K2C_TST_SMO_TestRun");
                smartObject.MethodToExecute = "Execute_NaN";
                smartObject.GetMethod("Execute_NaN").Parameters["pTestRunId"].Value      = TestRunId.ToString();
                smartObject.GetMethod("Execute_NaN").Parameters["pResult"].Value         = Actual.ToString();
                smartObject.GetMethod("Execute_NaN").Parameters["pExpectedResult"].Value = Expected;
                smartObject.GetMethod("Execute_NaN").Parameters["pPass"].Value           = Result(Actual, Expected, Sign).ToString();


                serverName.ExecuteScalar(smartObject);
            }
            catch (Exception ex)
            {
                string x = ex.Message;
            }
            finally
            {
                serverName.Connection.Close();
            }
        }
        //K2 connection opening samples
        public static void K2ConnectionSamples()
        {
            //you must instantiate the connection object
            Connection K2Conn = new Connection();

            //simple open using only a server name. (we are using localhost for this sample, in your example use your K2 Server name or NLB server-name)
            //This is the simplest way to open a connection for the current user (Active Directory credentials) on the default workflow port (5252)
            K2Conn.Open("[localhost]");

            //creating a more advanced connection with the connection string builder
            SourceCode.Hosting.Client.BaseAPI.SCConnectionStringBuilder K2ConnStringBuilder = new SourceCode.Hosting.Client.BaseAPI.SCConnectionStringBuilder();
            K2ConnStringBuilder.Host              = "[localhost]"; //K2 server name or the name of the DNS entry pointing to the K2 Farm
            K2ConnStringBuilder.Authenticate      = true;          //specify whether to authenticate the user's credentials against the security provider. This is usually set to true
            K2ConnStringBuilder.UserID            = "[username]";  //a specific username
            K2ConnStringBuilder.Password          = "******";  //the user's password, unencrypted
            K2ConnStringBuilder.Port              = 5252;          //if K2 was configured to run on a non-standard port, you can specify the port number here
            K2ConnStringBuilder.IsPrimaryLogin    = true;          //this is normally set to true, unless you are using cached security credentials
            K2ConnStringBuilder.SecurityLabelName = "K2";          //if using a different security provider, specify the label of the security provider here
            //opening a K2 connection with the advanced connection string
            K2Conn.Open(K2ConnStringBuilder.ToString());

            //closing a connection: you must always close the K2 connection when you are done with it
            K2Conn.Close();

            //to ensure that the connection is closed and disposed, you can also wrap the connection into a using statement, like this:
            using (Connection K2Conn2 = new Connection())
            {
                K2Conn2.Open("[servername]");
                //do something with the connection
                //the connection will be closed and disposed when the using statement is done
            }
        }
Beispiel #3
0
        /// <summary>
        /// Update the test details to say it has finished
        /// </summary>
        /// <param name="TestId"></param>
        private static void UpdateTestDetailsEnd(int TestId)
        {
            SourceCode.Hosting.Client.BaseAPI.SCConnectionStringBuilder hostServerConnectionString = new SourceCode.Hosting.Client.BaseAPI.SCConnectionStringBuilder();
            hostServerConnectionString.Host           = "localhost";
            hostServerConnectionString.Port           = 5555;
            hostServerConnectionString.IsPrimaryLogin = true;
            hostServerConnectionString.Integrated     = true;

            SourceCode.SmartObjects.Client.SmartObjectClientServer serverName = new SourceCode.SmartObjects.Client.SmartObjectClientServer();
            serverName.CreateConnection();
            serverName.Connection.Open(hostServerConnectionString.ToString());

            try
            {
                SourceCode.SmartObjects.Client.SmartObject smartObject = serverName.GetSmartObject("K2C_TST_SMO_TestRun");
                smartObject.MethodToExecute = "Execute_NaN_NaN_1";
                smartObject.GetMethod("Execute_NaN_NaN_1").Parameters["pTestId"].Value = TestId.ToString();
                serverName.ExecuteScalar(smartObject);
            }
            catch (Exception ex)
            { string x = ex.Message; }
            finally
            {
                serverName.Connection.Close();
            }
        }
Beispiel #4
0
        /// <summary>
        /// Updates the test details to say it has started
        /// </summary>
        /// <param name="TestDetailsid"></param>
        /// <param name="ProcessInstanceId"></param>
        /// <param name="Folio"></param>
        /// <param name="Originator"></param>
        /// <param name="StartedDate"></param>
        /// <param name="Started"></param>
        private static void UpdateTestDetails(int TestDetailsid, int ProcessInstanceId, string Folio, string Originator, DateTime StartedDate, bool Started)
        {
            SourceCode.Hosting.Client.BaseAPI.SCConnectionStringBuilder hostServerConnectionString = new SourceCode.Hosting.Client.BaseAPI.SCConnectionStringBuilder();
            hostServerConnectionString.Host           = "localhost";
            hostServerConnectionString.Port           = 5555;
            hostServerConnectionString.IsPrimaryLogin = true;
            hostServerConnectionString.Integrated     = true;

            SourceCode.SmartObjects.Client.SmartObjectClientServer serverName = new SourceCode.SmartObjects.Client.SmartObjectClientServer();
            serverName.CreateConnection();
            serverName.Connection.Open(hostServerConnectionString.ToString());

            try
            {
                SourceCode.SmartObjects.Client.SmartObject smartObject = serverName.GetSmartObject("K2C_TST_SMO_TestRun");
                smartObject.MethodToExecute = "Execute_NaN_1";
                smartObject.GetMethod("Execute_NaN_1").Parameters["pTestDetailsid"].Value     = TestDetailsid.ToString();
                smartObject.GetMethod("Execute_NaN_1").Parameters["pProcessInstanceId"].Value = ProcessInstanceId.ToString();
                smartObject.GetMethod("Execute_NaN_1").Parameters["pFolio"].Value             = Folio.ToString();
                smartObject.GetMethod("Execute_NaN_1").Parameters["pOriginator"].Value        = Originator.ToString();
                smartObject.GetMethod("Execute_NaN_1").Parameters["pStartedDate"].Value       = StartedDate.ToString();
                smartObject.GetMethod("Execute_NaN_1").Parameters["pStarted"].Value           = Started.ToString();
                serverName.ExecuteScalar(smartObject);
            }
            catch (Exception ex)
            {
                string x = ex.Message;
            }
            finally
            {
                serverName.Connection.Close();
            }
        }
Beispiel #5
0
 /// <summary>
 /// 得到K2连接串
 /// </summary>
 /// <returns></returns>
 public static string GetK2ManagementServerConnectionString()
 {
     SourceCode.Hosting.Client.BaseAPI.SCConnectionStringBuilder connectionString;
     connectionString = new SourceCode.Hosting.Client.BaseAPI.SCConnectionStringBuilder();
     connectionString.Authenticate      = true;
     connectionString.WindowsDomain     = "CENTALINE";
     connectionString.SecurityLabelName = "K2";
     connectionString.UserID            = MngUserID;
     connectionString.Password          = Cryptography.DESDecryption(MngUserPassword);
     connectionString.Host           = PlanServer;
     connectionString.Integrated     = true;
     connectionString.IsPrimaryLogin = true;
     connectionString.Port           = 5555;
     return(connectionString.ToString());
 }
        //sample that demonstrates opening a connection to the K2 server using the management API
        public void OpenManagementConnection()
        {
            WorkflowManagementServer K2Mgmt = new WorkflowManagementServer();

            //construct a connection string with the hosting client API
            SourceCode.Hosting.Client.BaseAPI.SCConnectionStringBuilder builder =
                new SourceCode.Hosting.Client.BaseAPI.SCConnectionStringBuilder();
            builder.Integrated        = true; //use the current user's security credentials
            builder.IsPrimaryLogin    = true;
            builder.Authenticate      = true;
            builder.EncryptedPassword = false;
            builder.Host = "localhost";
            builder.Port = 5555;              //you must use port 5555 when connecting with the management API
            builder.SecurityLabelName = "K2"; //this sample uses the Active Directory security provider

            //open the connection using the constructed connection string
            K2Mgmt.Open(builder.ToString());

            //do something in the management connection

            //close the connection when you are done
            K2Mgmt.Connection.Close();
        }
        /// <summary>
        /// Gets a list of Events for an activity
        /// </summary>
        /// <param name="activityid"></param>
        /// <returns></returns>
        public List <Events> GetEvents(string activityid)
        {
            List <Events> list = new List <Events>();


            SourceCode.Hosting.Client.BaseAPI.SCConnectionStringBuilder hostServerConnectionString = new SourceCode.Hosting.Client.BaseAPI.SCConnectionStringBuilder();
            hostServerConnectionString.Host           = servername;
            hostServerConnectionString.Port           = 5555;
            hostServerConnectionString.IsPrimaryLogin = true;
            hostServerConnectionString.Integrated     = true;

            SourceCode.SmartObjects.Client.SmartObjectClientServer serverName = new SourceCode.SmartObjects.Client.SmartObjectClientServer();
            serverName.CreateConnection();
            serverName.Connection.Open(hostServerConnectionString.ToString());

            try
            {
                SourceCode.SmartObjects.Client.SmartObject smartObject = serverName.GetSmartObject("Event_Instance");
                smartObject.MethodToExecute = "List";
                smartObject.Properties["ActivityInstanceID"].Value = activityid;
                SourceCode.SmartObjects.Client.SmartObjectList smoList = serverName.ExecuteList(smartObject);
                foreach (SourceCode.SmartObjects.Client.SmartObject item in smoList.SmartObjectsList)
                {
                    int ProcInstId = 0;
                    int ActInstId  = 0;
                    int.TryParse(item.Properties["ProcessInstanceID"].Value, out ProcInstId);
                    int.TryParse(item.Properties["ActivityInstanceID"].Value, out ActInstId);

                    DateTime startDate  = DateTime.Today;
                    DateTime finishDate = DateTime.Today;
                    DateTime.TryParse(item.Properties["StartDate"].Value, out startDate);
                    DateTime.TryParse(item.Properties["FinishDate"].Value, out finishDate);

                    list.Add(new Events
                    {
                        ProcessInstanceId  = ProcInstId,
                        ActivityInstanceId = ActInstId,
                        EventName          = item.Properties["EventName"].Value,
                        Status             = item.Properties["Status"].Value,
                        StartDate          = startDate,
                        FinishDate         = finishDate,
                        Destination        = item.Properties["Destination"].Value
                    });
                }
            }


            catch (Exception ex)
            {
                list.Add(new Events
                {
                    ProcessInstanceId  = 0,
                    ActivityInstanceId = 0,
                    EventName          = ex.Message,
                    Status             = "Error",
                    StartDate          = DateTime.Today,
                    FinishDate         = DateTime.Today
                });
            }
            finally
            {
                serverName.Connection.Close();
            }

            return(list);
        }
Beispiel #8
0
        /// <summary>
        /// Gets the test details
        /// </summary>
        /// <param name="TestId"></param>
        /// <returns></returns>
        public static List <TestPlanDetails> GetTestDetails(int TestId)
        {
            List <TestPlanDetails> list = new List <TestPlanDetails>();


            SourceCode.Hosting.Client.BaseAPI.SCConnectionStringBuilder hostServerConnectionString = new SourceCode.Hosting.Client.BaseAPI.SCConnectionStringBuilder();
            hostServerConnectionString.Host           = "localhost";
            hostServerConnectionString.Port           = 5555;
            hostServerConnectionString.IsPrimaryLogin = true;
            hostServerConnectionString.Integrated     = true;

            SourceCode.SmartObjects.Client.SmartObjectClientServer serverName = new SourceCode.SmartObjects.Client.SmartObjectClientServer();
            serverName.CreateConnection();
            serverName.Connection.Open(hostServerConnectionString.ToString());

            try
            {
                SourceCode.SmartObjects.Client.SmartObject smartObject = serverName.GetSmartObject("K2C_TST_SMO_TestRun");
                SourceCode.SmartObjects.Client.SmartObject returnSmartObject;
                smartObject.MethodToExecute = "List_NaN_NaN";
                smartObject.GetMethod("List_NaN_NaN").Parameters["pTestId"].Value = TestId.ToString();

                returnSmartObject = serverName.ExecuteScalar(smartObject);


                int      ProcessTypeId     = 0;
                int      ProcessInstanceId = 0;
                int      parameters        = 0;
                DateTime StartedDate       = DateTime.Today;
                DateTime FinishedDate      = DateTime.Today;
                int.TryParse(returnSmartObject.Properties["ProcessTypeId"].Value, out ProcessTypeId);
                int.TryParse(returnSmartObject.Properties["ProcessInstanceId"].Value, out ProcessInstanceId);
                DateTime.TryParse(returnSmartObject.Properties["StartedDate"].Value, out StartedDate);
                DateTime.TryParse(returnSmartObject.Properties["FinishedDate"].Value, out FinishedDate);
                list.Add(new TestPlanDetails
                {
                    TestName          = returnSmartObject.Properties["TestName"].Value,
                    WorkflowName      = returnSmartObject.Properties["WorkflowName"].Value,
                    ProcessTypeId     = ProcessTypeId,
                    ProcessInstanceId = ProcessInstanceId,
                    Folio             = returnSmartObject.Properties["Folio"].Value,
                    Originator        = returnSmartObject.Properties["Originator"].Value,
                    Started           = returnSmartObject.Properties["Started"].Value,
                    StartedDate       = StartedDate,
                    Finished          = returnSmartObject.Properties["Finished"].Value,
                    FinishedDate      = FinishedDate,
                    Status            = returnSmartObject.Properties["Status"].Value,
                    Route             = returnSmartObject.Properties["Route"].Value
                });
            }


            catch (Exception ex)
            {
                list.Add(new TestPlanDetails
                {
                    TestName = ex.Message
                });
            }
            finally
            {
                serverName.Connection.Close();
            }

            return(list);
        }
Beispiel #9
0
        /// <summary>
        /// SmartObject call to get a certain test plan
        /// </summary>
        /// <param name="TestId"></param>
        /// <returns></returns>
        public static List <TestPlanTest> BuildTestPlan(int TestId)
        {
            List <TestPlanTest> list = new List <TestPlanTest>();


            SourceCode.Hosting.Client.BaseAPI.SCConnectionStringBuilder hostServerConnectionString = new SourceCode.Hosting.Client.BaseAPI.SCConnectionStringBuilder();
            hostServerConnectionString.Host           = "localhost";
            hostServerConnectionString.Port           = 5555;
            hostServerConnectionString.IsPrimaryLogin = true;
            hostServerConnectionString.Integrated     = true;

            SourceCode.SmartObjects.Client.SmartObjectClientServer serverName = new SourceCode.SmartObjects.Client.SmartObjectClientServer();
            serverName.CreateConnection();
            serverName.Connection.Open(hostServerConnectionString.ToString());

            try
            {
                SourceCode.SmartObjects.Client.SmartObject smartObject = serverName.GetSmartObject("K2C_TST_SMO_TestRun");

                smartObject.MethodToExecute = "List_1";
                smartObject.GetMethod("List_1").Parameters["pTestId"].Value = TestId.ToString();
                SourceCode.SmartObjects.Client.SmartObjectList smoList = serverName.ExecuteList(smartObject);
                foreach (SourceCode.SmartObjects.Client.SmartObject item in smoList.SmartObjectsList)
                {
                    var z = item.Properties["Sign"].Value;


                    int testrunid    = 0;
                    int parameters   = 0;
                    int Milliseconds = 0;
                    int.TryParse(item.Properties["NumberOfParameters"].Value, out parameters);
                    int.TryParse(item.Properties["TestRunId"].Value, out testrunid);
                    int.TryParse(item.Properties["Milliseconds"].Value, out Milliseconds);

                    list.Add(new TestPlanTest
                    {
                        TestRunId = testrunid,

                        TestType           = item.Properties["TestType"].Value,
                        ExpectedResult     = item.Properties["ExpectedResult"].Value,
                        LeftParameter      = item.Properties["LeftParameter"].Value,
                        MiddleParameter    = item.Properties["MiddleParameter"].Value,
                        RightParameter     = item.Properties["RightParameter"].Value,
                        Milliseconds       = Milliseconds,
                        NumberOfParameters = parameters,
                        Sign = item.Properties["Sign"].Value
                    });
                }
            }


            catch (Exception ex)
            {
                list.Add(new TestPlanTest
                {
                });
            }
            finally
            {
                serverName.Connection.Close();
            }

            return(list);
        }