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
- XmlException.cs
- TransactionsSectionGroup.cs
- EdmComplexTypeAttribute.cs
- CompilerTypeWithParams.cs
- EventProxy.cs
- DelegateSerializationHolder.cs
- RelationshipWrapper.cs
- ColumnBinding.cs
- HMACSHA1.cs
- ToolStripItemClickedEventArgs.cs
- ReadOnlyHierarchicalDataSource.cs
- HostExecutionContextManager.cs
- MergeFilterQuery.cs
- ListChangedEventArgs.cs
- Speller.cs
- RawKeyboardInputReport.cs
- OrderByExpression.cs
- _KerberosClient.cs
- ConnectionProviderAttribute.cs
- TextDecorations.cs
- DataGridViewCellValidatingEventArgs.cs
- RedirectionProxy.cs
- TableItemProviderWrapper.cs
- SqlProfileProvider.cs
- TdsParameterSetter.cs
- Viewport3DVisual.cs
- ProcessInfo.cs
- EventSetter.cs
- Condition.cs
- EUCJPEncoding.cs
- BooleanAnimationBase.cs
- DataGridViewTopLeftHeaderCell.cs
- TraceProvider.cs
- _HTTPDateParse.cs
- HtmlEncodedRawTextWriter.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- CurrentChangingEventArgs.cs
- Roles.cs
- IgnoreDataMemberAttribute.cs
- ActivityContext.cs
- UriTemplatePathSegment.cs
- GenerateTemporaryTargetAssembly.cs
- DataBindingExpressionBuilder.cs
- MapPathBasedVirtualPathProvider.cs
- NonNullItemCollection.cs
- NativeMethods.cs
- CompilerResults.cs
- TrackingProfileSerializer.cs
- ProgressBarBrushConverter.cs
- NestedContainer.cs
- AdornerPresentationContext.cs
- TileBrush.cs
- Int16Animation.cs
- BaseDataList.cs
- MarkupExtensionReturnTypeAttribute.cs
- SkipQueryOptionExpression.cs
- ProxySimple.cs
- PropertyMetadata.cs
- HandlerFactoryCache.cs
- Roles.cs
- XsltLibrary.cs
- ContainerControl.cs
- MailDefinition.cs
- SqlDataSourceCustomCommandEditor.cs
- TreeNodeBinding.cs
- ConstraintCollection.cs
- ApplicationServicesHostFactory.cs
- FixedPageProcessor.cs
- ObjectPersistData.cs
- WsatProxy.cs
- TokenFactoryBase.cs
- NameValuePermission.cs
- XMLUtil.cs
- TypographyProperties.cs
- Size3DValueSerializer.cs
- ViewgenGatekeeper.cs
- WorkflowElementDialogWindow.xaml.cs
- ModelTypeConverter.cs
- FontDifferentiator.cs
- ListViewGroup.cs
- WindowsGraphicsCacheManager.cs
- Math.cs
- Rijndael.cs
- Substitution.cs
- OdbcCommand.cs
- EventBuilder.cs
- DBSqlParserTable.cs
- ColumnWidthChangingEvent.cs
- TextServicesCompartmentEventSink.cs
- WebBrowser.cs
- connectionpool.cs
- CalendarAutoFormat.cs
- InvalidCommandTreeException.cs
- OleDbConnection.cs
- WizardPanel.cs
- DataRowComparer.cs
- MediaElementAutomationPeer.cs
- PeerResolverMode.cs
- ForeignKeyConstraint.cs
- SchemaElementDecl.cs