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
- WindowsAuthenticationEventArgs.cs
- PnrpPeerResolverBindingElement.cs
- XpsSerializationManager.cs
- EntityTemplateFactory.cs
- TranslateTransform3D.cs
- ConstantSlot.cs
- DataTemplate.cs
- CallbackHandler.cs
- CompilationUtil.cs
- ChannelHandler.cs
- Control.cs
- XmlSchemaSimpleTypeRestriction.cs
- BasicHttpSecurityMode.cs
- RegexParser.cs
- TreeIterators.cs
- Menu.cs
- ReverseComparer.cs
- SmtpMail.cs
- ReadContentAsBinaryHelper.cs
- FontFamilyValueSerializer.cs
- SqlSupersetValidator.cs
- DocumentReference.cs
- Attachment.cs
- FontTypeConverter.cs
- ImageList.cs
- HttpApplication.cs
- GridItem.cs
- CompositeControl.cs
- RenderingEventArgs.cs
- BitmapPalette.cs
- LoginView.cs
- GeometryDrawing.cs
- FileSystemEnumerable.cs
- DrawToolTipEventArgs.cs
- SplayTreeNode.cs
- XmlArrayItemAttribute.cs
- CellParagraph.cs
- SuppressIldasmAttribute.cs
- WebServiceClientProxyGenerator.cs
- NoResizeSelectionBorderGlyph.cs
- InfoCardCryptoHelper.cs
- RectangleConverter.cs
- ComponentDispatcher.cs
- AbstractExpressions.cs
- Normalization.cs
- DiscoveryClientElement.cs
- ResourcesChangeInfo.cs
- Context.cs
- DataPager.cs
- XmlILModule.cs
- RectangleGeometry.cs
- AsyncCodeActivity.cs
- OleDbParameterCollection.cs
- HttpApplication.cs
- GenericUI.cs
- TreeNodeMouseHoverEvent.cs
- _NetworkingPerfCounters.cs
- WebEncodingValidatorAttribute.cs
- SqlGatherConsumedAliases.cs
- ApplicationTrust.cs
- ClickablePoint.cs
- PointCollectionConverter.cs
- DataGridViewRowStateChangedEventArgs.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- ReceiveMessageAndVerifySecurityAsyncResultBase.cs
- ScrollEvent.cs
- VirtualizingStackPanel.cs
- SamlSubject.cs
- PropertyDescriptor.cs
- OciLobLocator.cs
- AmbientEnvironment.cs
- DbProviderManifest.cs
- linebase.cs
- TextBoxAutoCompleteSourceConverter.cs
- KeyboardEventArgs.cs
- PnrpPermission.cs
- ScriptDescriptor.cs
- RadioButton.cs
- XmlSchemaProviderAttribute.cs
- InstancePersistenceCommand.cs
- BinaryKeyIdentifierClause.cs
- Binding.cs
- SchemaAttDef.cs
- EntryPointNotFoundException.cs
- XmlStreamStore.cs
- DebugHandleTracker.cs
- ResourceDefaultValueAttribute.cs
- TrackingServices.cs
- BitmapScalingModeValidation.cs
- RegexCompilationInfo.cs
- OneWayChannelListener.cs
- EraserBehavior.cs
- LayoutEditorPart.cs
- XamlParser.cs
- ViewUtilities.cs
- RemoteWebConfigurationHostServer.cs
- ComboBoxRenderer.cs
- SqlParameter.cs
- Geometry.cs
- AlternateViewCollection.cs