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
- DataSourceSerializationException.cs
- XmlException.cs
- MetabaseServerConfig.cs
- KeyToListMap.cs
- AtlasWeb.Designer.cs
- WaitHandleCannotBeOpenedException.cs
- TemplatedWizardStep.cs
- MergeFilterQuery.cs
- SynchronousReceiveElement.cs
- LineGeometry.cs
- WebBrowserSiteBase.cs
- XmlDomTextWriter.cs
- ProfileService.cs
- DetailsView.cs
- TableStyle.cs
- Int32CAMarshaler.cs
- ProfileSettingsCollection.cs
- CqlQuery.cs
- BindingValueChangedEventArgs.cs
- BaseTemplateParser.cs
- RadioButtonPopupAdapter.cs
- TrustSection.cs
- DesignTimeHTMLTextWriter.cs
- AuthenticationModulesSection.cs
- ListSourceHelper.cs
- ConsoleTraceListener.cs
- TextDecorations.cs
- CompilerErrorCollection.cs
- RijndaelCryptoServiceProvider.cs
- EpmSourcePathSegment.cs
- ExpressionCopier.cs
- XmlEncoding.cs
- StylusEditingBehavior.cs
- PreviewPrintController.cs
- SplitContainer.cs
- DataTableReaderListener.cs
- _NativeSSPI.cs
- Buffer.cs
- DataKey.cs
- PlainXmlWriter.cs
- IntSecurity.cs
- ButtonFieldBase.cs
- EmissiveMaterial.cs
- XmlWriter.cs
- UInt32Converter.cs
- WindowsRebar.cs
- ScaleTransform.cs
- SQLCharsStorage.cs
- ProcessThreadCollection.cs
- TouchEventArgs.cs
- CharEntityEncoderFallback.cs
- RubberbandSelector.cs
- RawAppCommandInputReport.cs
- TextRangeEditLists.cs
- Scene3D.cs
- SettingsProviderCollection.cs
- XmlILIndex.cs
- SettingsSavedEventArgs.cs
- ConnectionOrientedTransportChannelListener.cs
- ContentTextAutomationPeer.cs
- SimpleHandlerFactory.cs
- CngAlgorithm.cs
- CryptoApi.cs
- CachedPathData.cs
- DbParameterCollection.cs
- hresults.cs
- GlobalProxySelection.cs
- BlockUIContainer.cs
- PriorityBinding.cs
- AutomationAttributeInfo.cs
- MultiBinding.cs
- PolicyImporterElementCollection.cs
- ContentFilePart.cs
- Size3DConverter.cs
- CompilationPass2TaskInternal.cs
- ElementUtil.cs
- TypedDataSetSchemaImporterExtensionFx35.cs
- Error.cs
- MeasurementDCInfo.cs
- CLSCompliantAttribute.cs
- PrtCap_Reader.cs
- GenericUriParser.cs
- UrlMappingsSection.cs
- UITypeEditors.cs
- SharedDp.cs
- ToolStripMenuItem.cs
- Visual3D.cs
- dataobject.cs
- Page.cs
- DataKeyCollection.cs
- Executor.cs
- DataShape.cs
- IIS7UserPrincipal.cs
- HostDesigntimeLicenseContext.cs
- CommonDialog.cs
- EntitySet.cs
- DependencyObject.cs
- RoutedPropertyChangedEventArgs.cs
- PreviewKeyDownEventArgs.cs
- SqlConnectionHelper.cs