Пример #1
0
        static void GetInstanceTrackingEvents(Guid instanceId)
        {
            SqlTrackingQuery sqlTrackingQuery = new SqlTrackingQuery(connectionString);

            SqlTrackingWorkflowInstance sqlTrackingWorkflowInstance;
            sqlTrackingQuery.TryGetWorkflow(instanceId, out sqlTrackingWorkflowInstance);
            if (sqlTrackingWorkflowInstance != null)
            {
                Console.WriteLine("\nInstance Level Events:\n");

                foreach (WorkflowTrackingRecord workflowTrackingRecord in sqlTrackingWorkflowInstance.WorkflowEvents)
                {
                    Console.WriteLine("EventDescription : {0}  DateTime : {1}", workflowTrackingRecord.TrackingWorkflowEvent, workflowTrackingRecord.EventDateTime);
                }
            }
        }
Пример #2
0
 internal bool TryGetWorkflow(Guid workflowInstanceId, out SqlTrackingWorkflowInstance sqlTrackingWorkflowInstance)
 {
     SqlTrackingQuery sqlTrackingQuery = new SqlTrackingQuery(connectionString);
     return sqlTrackingQuery.TryGetWorkflow(workflowInstanceId, out sqlTrackingWorkflowInstance);
 }
Пример #3
0
        private static void OutputActivityTrackingEvents(Guid instanceId)
        {
            SqlTrackingQuery sqlTrackingQuery = new SqlTrackingQuery(connectionString);

            SqlTrackingWorkflowInstance sqlTrackingWorkflowInstance;
            if (sqlTrackingQuery.TryGetWorkflow(instanceId, out sqlTrackingWorkflowInstance))
            {
                Console.WriteLine("\nActivity Tracking Events:\n");

                foreach (ActivityTrackingRecord activityTrackingRecord in sqlTrackingWorkflowInstance.ActivityEvents)
                {
                    Console.WriteLine("StatusDescription : {0}  DateTime : {1} Activity Qualified Name : {2}", activityTrackingRecord.ExecutionStatus, activityTrackingRecord.EventDateTime, activityTrackingRecord.QualifiedName);
                }
            }
        }
Пример #4
0
        private static void OutputTrackedData(Guid instanceId)
        {
            SqlTrackingQuery sqlDataTrackingQuery = new SqlTrackingQuery(connectionString);

            SqlTrackingWorkflowInstance sqlTrackingWorkflowInstance;
            if (sqlDataTrackingQuery.TryGetWorkflow(instanceId, out sqlTrackingWorkflowInstance))
            {
                Console.WriteLine("\nOutputting data tracked from the workflow:\n");

                foreach (ActivityTrackingRecord activityDataTrackingRecord in sqlTrackingWorkflowInstance.ActivityEvents)
                {
                    foreach (TrackingDataItem dataItem in activityDataTrackingRecord.Body)
                    {
                        // Output data queried from TrackingDataItem table in the database.
                        Console.WriteLine("At the {0} event for the {1}:\n{2} = {3}",
                        activityDataTrackingRecord.ExecutionStatus, activityDataTrackingRecord.QualifiedName,
                        dataItem.FieldName, dataItem.Data);
                    }
                }
            }
            else
            {
                Console.WriteLine("Could not retrieve data for workflow with instance id {0}", instanceId);
            }
        }
Пример #5
0
        // Reading Data from Tracking Database
        static void QueryAndWriteTrackingInformationToConsole(Guid instanceId, TrackingWorkflowEvent workflowEventToFind)
        {
            SqlTrackingQuery sqlTrackingQuery = new SqlTrackingQuery(connectionString);

            SqlTrackingWorkflowInstance sqlTrackingWorkflowInstance;
            if (sqlTrackingQuery.TryGetWorkflow(instanceId, out sqlTrackingWorkflowInstance))
            {
                foreach (WorkflowTrackingRecord workflowTrackingRecord in sqlTrackingWorkflowInstance.WorkflowEvents)
                {
                    if (workflowTrackingRecord.TrackingWorkflowEvent == workflowEventToFind)
                    {
                        WriteEventDescriptionAndArgs(workflowTrackingRecord.TrackingWorkflowEvent.ToString(), workflowTrackingRecord.EventArgs, workflowTrackingRecord.EventDateTime);
                        break;
                    }
                }
            }
        }
Пример #6
0
        private static void GetUserTrackingEvents(Guid workflowInstanceId)
        {
            SqlTrackingQuery sqlTrackingQuery = new SqlTrackingQuery(connectionString);

            SqlTrackingWorkflowInstance sqlTrackingWorkflowInstance;
            if (sqlTrackingQuery.TryGetWorkflow(workflowInstanceId, out sqlTrackingWorkflowInstance))
            {
                foreach (UserTrackingRecord userTrackingRecord in sqlTrackingWorkflowInstance.UserEvents)
                {
                    Console.WriteLine("\nUser Tracking Event : Event Date Time : {0}, Event Data : {1}\n", userTrackingRecord.EventDateTime.ToString(), userTrackingRecord.UserData.ToString());
                }
            }
            else
            {
                throw new Exception("\nFailed to retrieve workflow instance\n");
            }
        }