Пример #1
0
        private void cmdUpdateTrackingProfile_Click(Object sender, EventArgs e)
        {
            ConnectionStringSettings trackingConnectionString = cboTrackingService.SelectedItem as ConnectionStringSettings;

            // update the default tracking profile
            GenericTrackingProfileManager profileManager = new AdoTrackingProfileManager(trackingConnectionString);
            TrackingProfile trackingProfile = profileManager.GetDefaultTrackingProfile();

            foreach (ActivityTrackPoint trackPoint in trackingProfile.ActivityTrackPoints)
            {
                trackPoint.Annotations.Add("Annotation added on " + DateTime.UtcNow);
                TrackingExtract trackingExtract = new ActivityDataTrackingExtract("Name");
                trackingExtract.Annotations.Add("Tracking Data Item added on " + DateTime.UtcNow);
                trackPoint.Extracts.Add(trackingExtract);
            }

            trackingProfile.Version = new Version(
                trackingProfile.Version.Major,
                trackingProfile.Version.Minor + 1, 0, 0);

            if (profileManager.GetTrackingProfile(typeof(SequentialWorkFlow)) != null)
            {
                profileManager.UpdateTrackingProfile(typeof(SequentialWorkFlow), trackingProfile);
            }

            profileManager.UpdateDefaultTrackingProfile(trackingProfile);
        }
Пример #2
0
        private static void CreateAndInsertTrackingProfile()
        {
            TrackingProfile profile = new TrackingProfile();

            // Create an activity track point, used for tracking data from Code Activities.
            ActivityTrackPoint codeActivityTrackPoint = new ActivityTrackPoint();

            // Create an ActivityTrackingLocation to be added to the track point.
            ActivityTrackingLocation codeActivityTrackingLocation = new ActivityTrackingLocation("CodeActivity");

            codeActivityTrackingLocation.MatchDerivedTypes = true;
            // Add the location "Closed" event to track.
            codeActivityTrackingLocation.ExecutionStatusEvents.Add(ActivityExecutionStatus.Closed);
            codeActivityTrackPoint.MatchingLocations.Add(codeActivityTrackingLocation);

            // Create a WorkflowDataTrackingExtract for extracting data from the Balance property.
            WorkflowDataTrackingExtract balanceWorkflowTrackingExtract = new WorkflowDataTrackingExtract();

            balanceWorkflowTrackingExtract.Member = "Balance";

            // Create an activity track point, used for tracking data in the custom activity "ServiceCharge".
            ActivityTrackPoint       customActivityTrackPoint       = new ActivityTrackPoint();
            ActivityTrackingLocation customActivityTrackingLocation = new ActivityTrackingLocation("ServiceCharge");

            // Create an ActivityTrackingLocation to be added to the track point
            customActivityTrackingLocation.ExecutionStatusEvents.Add(ActivityExecutionStatus.Closed);
            customActivityTrackPoint.MatchingLocations.Add(customActivityTrackingLocation);

            // Create an ActivityDataTrackingExtract for extracting Fee property data from the ServiceCharge activity.
            ActivityDataTrackingExtract feeActivityTrackingExtract = new ActivityDataTrackingExtract();

            feeActivityTrackingExtract.Member = "Fee";

            // Add extracts to the activity tracking points.
            codeActivityTrackPoint.Extracts.Add(balanceWorkflowTrackingExtract);
            customActivityTrackPoint.Extracts.Add(feeActivityTrackingExtract);

            profile.ActivityTrackPoints.Add(codeActivityTrackPoint);
            profile.ActivityTrackPoints.Add(customActivityTrackPoint);
            profile.Version = new Version("3.0.0.0");

            // Serialize the profile.
            TrackingProfileSerializer serializer = new TrackingProfileSerializer();
            StringWriter writer = new StringWriter(new StringBuilder(), CultureInfo.InvariantCulture);

            serializer.Serialize(writer, profile);
            String trackingprofile = writer.ToString();

            InsertTrackingProfile(trackingprofile);
        }