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
- NavigatorOutput.cs
- FontDialog.cs
- SQLBytesStorage.cs
- CompilerGeneratedAttribute.cs
- DrawingContextFlattener.cs
- ADMembershipProvider.cs
- SendMailErrorEventArgs.cs
- ResourceReferenceExpression.cs
- DatatypeImplementation.cs
- MetafileHeaderWmf.cs
- MasterPageParser.cs
- StorageTypeMapping.cs
- SourceFileBuildProvider.cs
- DataSourceXmlAttributeAttribute.cs
- LocalizableResourceBuilder.cs
- XmlConvert.cs
- SiteMapDataSource.cs
- MergablePropertyAttribute.cs
- ServiceDocument.cs
- XPathNavigatorReader.cs
- DateTimeFormatInfo.cs
- ThrowHelper.cs
- Bezier.cs
- ListViewGroup.cs
- StrongNameKeyPair.cs
- UnsafeNativeMethods.cs
- DeviceContexts.cs
- _LocalDataStore.cs
- TableItemPatternIdentifiers.cs
- ValueTypeIndexerReference.cs
- WebPartConnectionsCloseVerb.cs
- ToolTip.cs
- TreeNodeStyle.cs
- ListViewSortEventArgs.cs
- SoapIncludeAttribute.cs
- TabletCollection.cs
- ImageSource.cs
- MsmqIntegrationBindingCollectionElement.cs
- StoreContentChangedEventArgs.cs
- DataObjectFieldAttribute.cs
- CodeSnippetStatement.cs
- InternalCache.cs
- QilNode.cs
- ItemCollection.cs
- PrintDialogDesigner.cs
- ClipboardData.cs
- FragmentQueryProcessor.cs
- PackagePart.cs
- DesignerVerb.cs
- SQLBinaryStorage.cs
- KeyMatchBuilder.cs
- XmlTypeAttribute.cs
- PreparingEnlistment.cs
- FontNamesConverter.cs
- DiagnosticTrace.cs
- EnvelopedSignatureTransform.cs
- SendKeys.cs
- DataReaderContainer.cs
- DictationGrammar.cs
- ConditionalBranch.cs
- HostedBindingBehavior.cs
- TCPListener.cs
- Pool.cs
- String.cs
- TableAdapterManagerHelper.cs
- XmlTextAttribute.cs
- HostedHttpRequestAsyncResult.cs
- RelationshipEnd.cs
- MessageDecoder.cs
- SwitchCase.cs
- TabPage.cs
- ToolStripLabel.cs
- GuidelineSet.cs
- SqlTrackingService.cs
- AbandonedMutexException.cs
- TextEditorCopyPaste.cs
- PropertyDescriptorGridEntry.cs
- DataGridViewCell.cs
- ScriptManagerProxy.cs
- AddressingProperty.cs
- MenuItemStyleCollection.cs
- OdbcEnvironmentHandle.cs
- Image.cs
- QueryCacheEntry.cs
- MatrixAnimationBase.cs
- PeerCollaboration.cs
- DynamicDiscoveryDocument.cs
- CryptoApi.cs
- PathSegment.cs
- AsymmetricSignatureDeformatter.cs
- EncodingTable.cs
- IntPtr.cs
- ResourceManager.cs
- Missing.cs
- DataStreamFromComStream.cs
- ZipArchive.cs
- CompressEmulationStream.cs
- StrongNameUtility.cs
- Invariant.cs
- FileSystemInfo.cs