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
- CheckedPointers.cs
- Style.cs
- SettingsProviderCollection.cs
- TimeSpanHelper.cs
- XmlCodeExporter.cs
- BaseValidator.cs
- StringSorter.cs
- Enum.cs
- PermissionListSet.cs
- CodeParameterDeclarationExpression.cs
- IdentitySection.cs
- FrameworkContentElement.cs
- ControlType.cs
- EllipticalNodeOperations.cs
- AsyncResult.cs
- DataGridViewCell.cs
- ObjectIDGenerator.cs
- ToolStripTextBox.cs
- TransformPattern.cs
- DetailsViewRow.cs
- BinaryParser.cs
- SqlNotificationRequest.cs
- StandardMenuStripVerb.cs
- metadatamappinghashervisitor.cs
- CroppedBitmap.cs
- ImageFormat.cs
- DynamicResourceExtension.cs
- BuildTopDownAttribute.cs
- IndexObject.cs
- WebBrowserPermission.cs
- SuppressIldasmAttribute.cs
- Vector3DConverter.cs
- Vector3DIndependentAnimationStorage.cs
- arc.cs
- TypeConverterValueSerializer.cs
- SmtpException.cs
- FixedSOMFixedBlock.cs
- DataSourceSelectArguments.cs
- SecurityKeyIdentifierClause.cs
- DeviceContexts.cs
- DeploymentSection.cs
- DataTemplateKey.cs
- MtomMessageEncodingBindingElement.cs
- _TimerThread.cs
- XPathScanner.cs
- TextDecorationCollectionConverter.cs
- DeobfuscatingStream.cs
- CollectionChangedEventManager.cs
- GlobalEventManager.cs
- versioninfo.cs
- MediaPlayerState.cs
- HtmlAnchor.cs
- DataQuery.cs
- TreeBuilder.cs
- LabelDesigner.cs
- StrongNameUtility.cs
- XmlAttributeAttribute.cs
- PriorityItem.cs
- XamlStyleSerializer.cs
- SolidColorBrush.cs
- TextElementCollectionHelper.cs
- WorkflowServiceBuildProvider.cs
- EdgeModeValidation.cs
- DateTimeParse.cs
- ToolstripProfessionalRenderer.cs
- XmlSchemaNotation.cs
- X509ClientCertificateCredentialsElement.cs
- InheritedPropertyChangedEventArgs.cs
- AccessDataSource.cs
- ObjectSet.cs
- EventsTab.cs
- SqlTrackingQuery.cs
- ConstraintConverter.cs
- DataGridViewEditingControlShowingEventArgs.cs
- BamlLocalizableResource.cs
- TextWriterEngine.cs
- EncryptedReference.cs
- CfgSemanticTag.cs
- XmlDataCollection.cs
- Wizard.cs
- TextServicesCompartmentContext.cs
- OutOfMemoryException.cs
- ColorContext.cs
- InfoCardService.cs
- DefaultPropertyAttribute.cs
- Serializer.cs
- AlphabeticalEnumConverter.cs
- SQLSingleStorage.cs
- AsynchronousChannel.cs
- EventEntry.cs
- ProcessHostServerConfig.cs
- CodeTypeParameterCollection.cs
- SqlDataSourceCommandEventArgs.cs
- WindowsToolbarItemAsMenuItem.cs
- TreeNodeBinding.cs
- DataGridViewCheckBoxCell.cs
- ColumnMapVisitor.cs
- AuthenticationConfig.cs
- RemotingService.cs
- ToolStripDropDownClosedEventArgs.cs