Exemplo n.º 1
0
        private void Merge(TrackingRecordPreFilter filter)
        {
            if (!_filterValuesSetExplicitly)
            {
                // This it the first filter we are merging
                _filterValuesSetExplicitly = true;

                this.ShouldTrackActivityStateRecordsExecutingState = filter.TrackActivityStateRecordsExecutingState;
                this.ShouldTrackActivityScheduledRecords           = filter.TrackActivityScheduledRecords;
                this.ShouldTrackActivityStateRecords            = filter.TrackActivityStateRecords;
                this.ShouldTrackActivityStateRecordsClosedState = filter.TrackActivityStateRecordsClosedState;
                this.ShouldTrackBookmarkResumptionRecords       = filter.TrackBookmarkResumptionRecords;
                this.ShouldTrackCancelRequestedRecords          = filter.TrackCancelRequestedRecords;
                this.ShouldTrackFaultPropagationRecords         = filter.TrackFaultPropagationRecords;
                this.ShouldTrackWorkflowInstanceRecords         = filter.TrackWorkflowInstanceRecords;
            }
            else
            {
                this.ShouldTrackActivityStateRecordsExecutingState |= filter.TrackActivityStateRecordsExecutingState;
                this.ShouldTrackActivityScheduledRecords           |= filter.TrackActivityScheduledRecords;
                this.ShouldTrackActivityStateRecords            |= filter.TrackActivityStateRecords;
                this.ShouldTrackActivityStateRecordsClosedState |= filter.TrackActivityStateRecordsClosedState;
                this.ShouldTrackBookmarkResumptionRecords       |= filter.TrackBookmarkResumptionRecords;
                this.ShouldTrackCancelRequestedRecords          |= filter.TrackCancelRequestedRecords;
                this.ShouldTrackFaultPropagationRecords         |= filter.TrackFaultPropagationRecords;
                this.ShouldTrackWorkflowInstanceRecords         |= filter.TrackWorkflowInstanceRecords;
            }
        }
Exemplo n.º 2
0
        internal RuntimeTrackingProfile(TrackingProfile profile, Activity rootElement)
        {
            _associatedProfile       = profile;
            _isRootNativeActivity    = rootElement is NativeActivity;
            _trackingRecordPreFilter = new TrackingRecordPreFilter();

            foreach (TrackingQuery query in _associatedProfile.Queries)
            {
                if (query is ActivityStateQuery)
                {
                    AddActivitySubscription((ActivityStateQuery)query);
                }
                else if (query is WorkflowInstanceQuery)
                {
                    AddWorkflowSubscription((WorkflowInstanceQuery)query);
                }
                else if (query is BookmarkResumptionQuery)
                {
                    AddBookmarkSubscription((BookmarkResumptionQuery)query);
                }
                else if (query is CustomTrackingQuery)
                {
                    AddCustomTrackingSubscription((CustomTrackingQuery)query);
                }
                else if (query is ActivityScheduledQuery)
                {
                    AddActivityScheduledSubscription((ActivityScheduledQuery)query);
                }
                else if (query is CancelRequestedQuery)
                {
                    AddCancelRequestedSubscription((CancelRequestedQuery)query);
                }
                else if (query is FaultPropagationQuery)
                {
                    AddFaultPropagationSubscription((FaultPropagationQuery)query);
                }
            }
        }