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
- SerializerDescriptor.cs
- DataGridCell.cs
- BaseContextMenu.cs
- XmlEventCache.cs
- ResourcesBuildProvider.cs
- OperationInfo.cs
- DocumentAutomationPeer.cs
- __Error.cs
- VoiceInfo.cs
- HMACMD5.cs
- ToolStripDropDownMenu.cs
- StaticResourceExtension.cs
- LineVisual.cs
- InvariantComparer.cs
- CommonDialog.cs
- FrameDimension.cs
- TableColumnCollectionInternal.cs
- TripleDESCryptoServiceProvider.cs
- StylusDownEventArgs.cs
- UnsafeNativeMethods.cs
- LineVisual.cs
- CellRelation.cs
- DataBindEngine.cs
- SpotLight.cs
- DBAsyncResult.cs
- RequestResizeEvent.cs
- TaskDesigner.cs
- UpdateTranslator.cs
- SiteMapNodeItem.cs
- QilGeneratorEnv.cs
- dbdatarecord.cs
- WindowsRebar.cs
- WebPartEditVerb.cs
- FilteredAttributeCollection.cs
- SQLUtility.cs
- VisualBrush.cs
- WmlLiteralTextAdapter.cs
- ProtocolsConfiguration.cs
- DynamicActivityTypeDescriptor.cs
- LayoutManager.cs
- DataViewListener.cs
- ButtonChrome.cs
- RuleSettings.cs
- BitmapPalette.cs
- LinkAreaEditor.cs
- ConfigurationConverterBase.cs
- RegexStringValidatorAttribute.cs
- XmlStreamNodeWriter.cs
- GroupDescription.cs
- ChtmlTextWriter.cs
- AspCompat.cs
- XmlCharacterData.cs
- ObjectSpanRewriter.cs
- NumberFormatInfo.cs
- Thread.cs
- __Filters.cs
- OperatingSystem.cs
- ButtonRenderer.cs
- SingleKeyFrameCollection.cs
- Animatable.cs
- XmlAttribute.cs
- Switch.cs
- XmlSchemaInferenceException.cs
- SecurityElement.cs
- CompilationSection.cs
- LogExtent.cs
- GridView.cs
- DelegatingHeader.cs
- OdbcRowUpdatingEvent.cs
- HandleTable.cs
- DictionaryContent.cs
- ReaderWriterLock.cs
- ModelUIElement3D.cs
- DateTimeUtil.cs
- ClientTargetCollection.cs
- DialogBaseForm.cs
- XomlDesignerLoader.cs
- Setter.cs
- EntityAdapter.cs
- FileLogRecordHeader.cs
- WSFederationHttpSecurityElement.cs
- ElementsClipboardData.cs
- CachingHintValidation.cs
- Link.cs
- RSAOAEPKeyExchangeDeformatter.cs
- BindToObject.cs
- TableCell.cs
- ColorAnimationUsingKeyFrames.cs
- ListViewCancelEventArgs.cs
- XmlSchemaValidationException.cs
- ScrollableControlDesigner.cs
- HuffCodec.cs
- GotoExpression.cs
- DeleteHelper.cs
- TextServicesDisplayAttributePropertyRanges.cs
- ResourceKey.cs
- CalendarSelectionChangedEventArgs.cs
- Char.cs
- Relationship.cs
- DataKeyArray.cs