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
- BitmapSizeOptions.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- ConnectionPoolRegistry.cs
- DynamicArgumentDesigner.xaml.cs
- OdbcConnectionString.cs
- Dump.cs
- UrlPropertyAttribute.cs
- RemoteTokenFactory.cs
- WebBaseEventKeyComparer.cs
- HiddenField.cs
- PipelineDeploymentState.cs
- HtmlLink.cs
- ControlTemplate.cs
- SiteMapNodeItemEventArgs.cs
- Viewport3DAutomationPeer.cs
- HierarchicalDataBoundControl.cs
- HwndSourceKeyboardInputSite.cs
- StateManagedCollection.cs
- UrlMapping.cs
- RadioButton.cs
- ResourceCodeDomSerializer.cs
- DataRelation.cs
- CommandConverter.cs
- ThrowHelper.cs
- OdbcConnectionString.cs
- ProjectedSlot.cs
- DrawingBrush.cs
- PresentationTraceSources.cs
- XmlQueryType.cs
- ProviderCommandInfoUtils.cs
- panel.cs
- MetadataArtifactLoaderCompositeFile.cs
- PermissionSetEnumerator.cs
- MobileUserControlDesigner.cs
- DecryptRequest.cs
- TrackBarDesigner.cs
- GridViewColumnCollectionChangedEventArgs.cs
- DataGridLinkButton.cs
- WCFServiceClientProxyGenerator.cs
- oledbconnectionstring.cs
- SafeCryptContextHandle.cs
- HtmlTextBoxAdapter.cs
- TextEditorCharacters.cs
- ScopeCollection.cs
- OdbcConnectionFactory.cs
- UnsafeNetInfoNativeMethods.cs
- WebBaseEventKeyComparer.cs
- CodeTypeReferenceExpression.cs
- SequenceDesigner.cs
- CodeDelegateCreateExpression.cs
- EdmItemCollection.cs
- ReadOnlyDictionary.cs
- TextParaClient.cs
- ReachSerializationCacheItems.cs
- MarkupObject.cs
- CatalogPart.cs
- OutputCacheModule.cs
- CodeDirectoryCompiler.cs
- Container.cs
- WebScriptMetadataMessage.cs
- Attributes.cs
- ObjectStateEntry.cs
- IOException.cs
- QueueProcessor.cs
- JavaScriptString.cs
- ListBindingHelper.cs
- DefaultExpressionVisitor.cs
- DataGridHeaderBorder.cs
- FilterableAttribute.cs
- Reference.cs
- LambdaCompiler.Address.cs
- TiffBitmapEncoder.cs
- XsdCachingReader.cs
- tooltip.cs
- DataGridState.cs
- TextAdaptor.cs
- SharedUtils.cs
- DispatcherHooks.cs
- DescendantQuery.cs
- Table.cs
- Renderer.cs
- x509utils.cs
- _HelperAsyncResults.cs
- TemplateBuilder.cs
- SignedXml.cs
- XmlDataDocument.cs
- ModelFunction.cs
- InvalidOleVariantTypeException.cs
- ScriptControl.cs
- AssemblyFilter.cs
- StringSorter.cs
- Function.cs
- WorkflowServiceHostFactory.cs
- TextInfo.cs
- SEHException.cs
- XmlSignificantWhitespace.cs
- XsdSchemaFileEditor.cs
- EmptyReadOnlyDictionaryInternal.cs
- Dynamic.cs
- WinHttpWebProxyFinder.cs