Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / RunTime / Tracking / TrackingExtract.cs / 1305376 / TrackingExtract.cs
using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Text; using System.Xml; using System.Xml.Schema; using System.IO; using System.Reflection; using System.Diagnostics; using System.Runtime.Serialization; using System.Security.Permissions; using System.Globalization; //using System.Workflow.Activities; using System.Workflow.ComponentModel; using System.Workflow.Runtime; using System.Workflow.Runtime.Hosting; using Hosting = System.Workflow.Runtime.Hosting; namespace System.Workflow.Runtime.Tracking { ////// Abstract base for classes that extract data /// [Serializable] public abstract class TrackingExtract { public abstract TrackingAnnotationCollection Annotations { get; } public abstract string Member { get; set; } internal abstract void GetData(Activity activity, IServiceProvider provider, IListitems); } /// /// Used to extract data members from a workflow's code separation partial class. /// [Serializable] public class WorkflowDataTrackingExtract : TrackingExtract { #region Private DataMembers private string _name = null; private TrackingAnnotationCollection _annotations = new TrackingAnnotationCollection(); #endregion #region Constructors ////// Default constructor. /// public WorkflowDataTrackingExtract() { } ////// Construct with a Member list. /// /// List of "." delineated property names public WorkflowDataTrackingExtract(string member) { _name = member; } #endregion #region TrackingExtract public override string Member { get { return _name; } set { _name = value; } } public override TrackingAnnotationCollection Annotations { get { return _annotations; } } internal override void GetData(Activity activity, IServiceProvider provider, IListitems) { Activity root = ContextActivityUtils.RootContextActivity(activity); if ((null == _name) || (0 == _name.Trim().Length)) { // // If we don't have a name we get everything PropertyHelper.GetAllMembers(root, items, _annotations); } else { TrackingDataItem item = null; PropertyHelper.GetProperty(_name, root, _annotations, out item); if (null != item) items.Add(item); } } #endregion } /// /// Used to extract data members from an activity in a workflow instance. /// [Serializable] public class ActivityDataTrackingExtract : TrackingExtract { #region Private DataMembers private string _name = null; private TrackingAnnotationCollection _annotations = new TrackingAnnotationCollection(); #endregion #region Constructors ////// Default constructor. /// public ActivityDataTrackingExtract() { } ////// Construct with a Member list. /// /// List of "." delineated property names public ActivityDataTrackingExtract(string member) { _name = member; } #endregion #region TrackingExtract public override string Member { get { return _name; } set { _name = value; } } public override TrackingAnnotationCollection Annotations { get { return _annotations; } } internal override void GetData(Activity activity, IServiceProvider provider, IListitems) { if ((null == _name) || (0 == _name.Trim().Length)) { // // If we don't have a name we get everything PropertyHelper.GetAllMembers(activity, items, _annotations); } else { TrackingDataItem item = null; PropertyHelper.GetProperty(_name, activity, _annotations, out item); if (null != item) items.Add(item); } } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Text; using System.Xml; using System.Xml.Schema; using System.IO; using System.Reflection; using System.Diagnostics; using System.Runtime.Serialization; using System.Security.Permissions; using System.Globalization; //using System.Workflow.Activities; using System.Workflow.ComponentModel; using System.Workflow.Runtime; using System.Workflow.Runtime.Hosting; using Hosting = System.Workflow.Runtime.Hosting; namespace System.Workflow.Runtime.Tracking { /// /// Abstract base for classes that extract data /// [Serializable] public abstract class TrackingExtract { public abstract TrackingAnnotationCollection Annotations { get; } public abstract string Member { get; set; } internal abstract void GetData(Activity activity, IServiceProvider provider, IListitems); } /// /// Used to extract data members from a workflow's code separation partial class. /// [Serializable] public class WorkflowDataTrackingExtract : TrackingExtract { #region Private DataMembers private string _name = null; private TrackingAnnotationCollection _annotations = new TrackingAnnotationCollection(); #endregion #region Constructors ////// Default constructor. /// public WorkflowDataTrackingExtract() { } ////// Construct with a Member list. /// /// List of "." delineated property names public WorkflowDataTrackingExtract(string member) { _name = member; } #endregion #region TrackingExtract public override string Member { get { return _name; } set { _name = value; } } public override TrackingAnnotationCollection Annotations { get { return _annotations; } } internal override void GetData(Activity activity, IServiceProvider provider, IListitems) { Activity root = ContextActivityUtils.RootContextActivity(activity); if ((null == _name) || (0 == _name.Trim().Length)) { // // If we don't have a name we get everything PropertyHelper.GetAllMembers(root, items, _annotations); } else { TrackingDataItem item = null; PropertyHelper.GetProperty(_name, root, _annotations, out item); if (null != item) items.Add(item); } } #endregion } /// /// Used to extract data members from an activity in a workflow instance. /// [Serializable] public class ActivityDataTrackingExtract : TrackingExtract { #region Private DataMembers private string _name = null; private TrackingAnnotationCollection _annotations = new TrackingAnnotationCollection(); #endregion #region Constructors ////// Default constructor. /// public ActivityDataTrackingExtract() { } ////// Construct with a Member list. /// /// List of "." delineated property names public ActivityDataTrackingExtract(string member) { _name = member; } #endregion #region TrackingExtract public override string Member { get { return _name; } set { _name = value; } } public override TrackingAnnotationCollection Annotations { get { return _annotations; } } internal override void GetData(Activity activity, IServiceProvider provider, IListitems) { if ((null == _name) || (0 == _name.Trim().Length)) { // // If we don't have a name we get everything PropertyHelper.GetAllMembers(activity, items, _annotations); } else { TrackingDataItem item = null; PropertyHelper.GetProperty(_name, activity, _annotations, out item); if (null != item) items.Add(item); } } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DesigntimeLicenseContext.cs
- CollectionBuilder.cs
- DataGridViewBand.cs
- EdmSchemaError.cs
- RequestDescription.cs
- SecurityTraceRecordHelper.cs
- InvokeHandlers.cs
- URLString.cs
- WebBaseEventKeyComparer.cs
- Parser.cs
- EmbeddedMailObjectsCollection.cs
- PositiveTimeSpanValidatorAttribute.cs
- PathFigure.cs
- hwndwrapper.cs
- SessionEndingEventArgs.cs
- HashSet.cs
- TextDpi.cs
- ReferencedCollectionType.cs
- AssemblyCacheEntry.cs
- DescendentsWalkerBase.cs
- Mouse.cs
- ClientSection.cs
- Int32AnimationUsingKeyFrames.cs
- XamlTypeMapper.cs
- SerializationAttributes.cs
- ToolStripSettings.cs
- DataBoundControlParameterTarget.cs
- LoginView.cs
- MethodImplAttribute.cs
- XsltArgumentList.cs
- GridItemPatternIdentifiers.cs
- ObjectStorage.cs
- WinFormsSpinner.cs
- ThreadStartException.cs
- AssemblyAttributesGoHere.cs
- EventWaitHandleSecurity.cs
- ChildChangedEventArgs.cs
- TypeConverterAttribute.cs
- EntityException.cs
- AppDomainUnloadedException.cs
- WorkflowOperationFault.cs
- UnionCqlBlock.cs
- ClockGroup.cs
- BindingSource.cs
- DynamicPropertyReader.cs
- SafeRightsManagementHandle.cs
- EncodingTable.cs
- AliasedSlot.cs
- DecoderFallback.cs
- HotSpotCollection.cs
- ReadOnlyHierarchicalDataSource.cs
- PartialList.cs
- SignatureDescription.cs
- KeyFrames.cs
- XmlDataSourceView.cs
- SemanticTag.cs
- IpcServerChannel.cs
- ConfigXmlText.cs
- PageAdapter.cs
- OrderPreservingSpoolingTask.cs
- DesignerVerbCollection.cs
- GridErrorDlg.cs
- SafeSystemMetrics.cs
- Policy.cs
- DragStartedEventArgs.cs
- SourceChangedEventArgs.cs
- DbParameterHelper.cs
- Validator.cs
- SerialErrors.cs
- CommandID.cs
- ProtocolsConfigurationHandler.cs
- TabControlToolboxItem.cs
- XomlCompilerParameters.cs
- HttpCapabilitiesSectionHandler.cs
- TextServicesCompartment.cs
- OleDbWrapper.cs
- GridViewHeaderRowPresenter.cs
- Stream.cs
- NumericExpr.cs
- PropertyValueChangedEvent.cs
- CodeDomDecompiler.cs
- Delay.cs
- DebugController.cs
- ASCIIEncoding.cs
- DisableDpiAwarenessAttribute.cs
- RowVisual.cs
- ValidatingPropertiesEventArgs.cs
- GetImportedCardRequest.cs
- OdbcEnvironmentHandle.cs
- LifetimeMonitor.cs
- ProfilePropertySettings.cs
- OutputCacheProfileCollection.cs
- StrongNamePublicKeyBlob.cs
- ViewBase.cs
- CombinedGeometry.cs
- MatrixValueSerializer.cs
- path.cs
- MarkupCompilePass1.cs
- RuleSet.cs
- BooleanProjectedSlot.cs