Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PhysicalFontFamily.cs
- BulletedListEventArgs.cs
- DataGridViewCellLinkedList.cs
- DiscoveryDocumentReference.cs
- ScalarType.cs
- Soap12ServerProtocol.cs
- SafeRegistryHandle.cs
- LabelEditEvent.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- WebUtil.cs
- DragStartedEventArgs.cs
- ExpandCollapsePattern.cs
- ColumnWidthChangingEvent.cs
- ObjectCloneHelper.cs
- RowTypeElement.cs
- AnonymousIdentificationSection.cs
- BatchWriter.cs
- DefaultDialogButtons.cs
- FacetChecker.cs
- SqlTypeSystemProvider.cs
- ListViewCommandEventArgs.cs
- Vector.cs
- LocatorGroup.cs
- Hex.cs
- DEREncoding.cs
- IgnoreSectionHandler.cs
- XmlIlTypeHelper.cs
- DateTimeFormat.cs
- MembershipSection.cs
- BitmapFrameEncode.cs
- AvtEvent.cs
- Material.cs
- NotificationContext.cs
- DirectionalLight.cs
- BitmapVisualManager.cs
- WebBrowserContainer.cs
- Accessible.cs
- ImageBrush.cs
- OleDbConnectionFactory.cs
- LayoutTable.cs
- XmlSchemaAnnotation.cs
- SqlPersonalizationProvider.cs
- MatrixTransform.cs
- IsolatedStoragePermission.cs
- StaticResourceExtension.cs
- FormViewDeletedEventArgs.cs
- ControlPersister.cs
- HtmlHead.cs
- HtmlTextArea.cs
- BamlResourceContent.cs
- CancellationTokenSource.cs
- FixedPageProcessor.cs
- SqlInfoMessageEvent.cs
- EventDescriptor.cs
- SelectionItemPattern.cs
- FontNamesConverter.cs
- DefinitionUpdate.cs
- RangeBase.cs
- ExpandoClass.cs
- Storyboard.cs
- XmlAttributeCache.cs
- TranslateTransform3D.cs
- TripleDES.cs
- NetSectionGroup.cs
- TraceUtility.cs
- ViewPort3D.cs
- BaseDataList.cs
- WebPartActionVerb.cs
- FeatureAttribute.cs
- StylusPlugInCollection.cs
- ActivationArguments.cs
- HostedTransportConfigurationBase.cs
- Brushes.cs
- TransactionScope.cs
- BamlStream.cs
- ClientSponsor.cs
- FormsAuthenticationCredentials.cs
- FontStretchConverter.cs
- SafeNativeMethods.cs
- OrderedDictionary.cs
- OrthographicCamera.cs
- IsolatedStorageFileStream.cs
- FieldAccessException.cs
- MultiDataTrigger.cs
- MobileUserControlDesigner.cs
- DialogDivider.cs
- KerberosReceiverSecurityToken.cs
- ServiceControllerDesigner.cs
- ObjectSpanRewriter.cs
- TextEndOfSegment.cs
- AmbientLight.cs
- SafeFileMapViewHandle.cs
- UnsafeNativeMethods.cs
- WsatExtendedInformation.cs
- COM2PictureConverter.cs
- DecimalStorage.cs
- CollectionViewProxy.cs
- Signature.cs
- TdsParser.cs
- TextOutput.cs