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
- IdentifierCollection.cs
- StaticContext.cs
- Size3DConverter.cs
- MexNamedPipeBindingCollectionElement.cs
- NotifyIcon.cs
- WindowsContainer.cs
- EmptyControlCollection.cs
- EntityCommandExecutionException.cs
- WebControl.cs
- PageThemeParser.cs
- DataTemplateSelector.cs
- BreadCrumbTextConverter.cs
- XmlDataProvider.cs
- FactoryGenerator.cs
- LiteralText.cs
- GetIndexBinder.cs
- BaseParser.cs
- WizardForm.cs
- PropertyDescriptorComparer.cs
- BitmapPalettes.cs
- Char.cs
- TextParagraphView.cs
- DesignerCategoryAttribute.cs
- FormViewModeEventArgs.cs
- ClusterUtils.cs
- BinaryReader.cs
- SizeConverter.cs
- PersonalizationProviderCollection.cs
- AddInActivator.cs
- LinearQuaternionKeyFrame.cs
- CodeCastExpression.cs
- ChannelSinkStacks.cs
- LocationUpdates.cs
- Trace.cs
- XPathScanner.cs
- UriSection.cs
- EventBindingService.cs
- RowsCopiedEventArgs.cs
- _NegotiateClient.cs
- ComponentRenameEvent.cs
- AsyncResult.cs
- login.cs
- ProfileManager.cs
- ComboBoxRenderer.cs
- StatusBarItem.cs
- ColorAnimation.cs
- BinaryExpressionHelper.cs
- Compilation.cs
- DbReferenceCollection.cs
- ArgumentException.cs
- ScriptControlManager.cs
- XmlSchemaSimpleContentRestriction.cs
- UIElement3D.cs
- GifBitmapEncoder.cs
- ParameterBuilder.cs
- ExpressionVisitor.cs
- GridViewDeleteEventArgs.cs
- ChildChangedEventArgs.cs
- BrowserCapabilitiesFactoryBase.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- ProviderConnectionPoint.cs
- FaultPropagationQuery.cs
- CaseInsensitiveComparer.cs
- ConnectionManagementElementCollection.cs
- SelectionGlyph.cs
- DatatypeImplementation.cs
- WebPartHelpVerb.cs
- IdnElement.cs
- _UncName.cs
- WebPartDescriptionCollection.cs
- SizeChangedInfo.cs
- ObjRef.cs
- DispatcherExceptionEventArgs.cs
- AdornerLayer.cs
- TransformerInfo.cs
- StrokeCollectionDefaultValueFactory.cs
- BlockUIContainer.cs
- UrlMappingsModule.cs
- SchemaNotation.cs
- GregorianCalendar.cs
- DynamicValueConverter.cs
- UpnEndpointIdentity.cs
- NeutralResourcesLanguageAttribute.cs
- BamlLocalizationDictionary.cs
- MessageVersion.cs
- ProcessThreadCollection.cs
- NonDualMessageSecurityOverHttp.cs
- ResolveNameEventArgs.cs
- PaginationProgressEventArgs.cs
- ScaleTransform3D.cs
- Adorner.cs
- ThreadStaticAttribute.cs
- PropertyStore.cs
- WindowPattern.cs
- ApplicationTrust.cs
- TextTreeFixupNode.cs
- ScopedMessagePartSpecification.cs
- MultipleViewProviderWrapper.cs
- VisualState.cs
- AssociationEndMember.cs