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
- EnumMember.cs
- XmlChildNodes.cs
- InstancePersistenceException.cs
- basecomparevalidator.cs
- SQLInt64Storage.cs
- FixedPage.cs
- LinkClickEvent.cs
- OperatingSystem.cs
- XmlTextReaderImpl.cs
- CollectionConverter.cs
- SettingsProperty.cs
- MimeMapping.cs
- PagedDataSource.cs
- GZipStream.cs
- DesignerEditorPartChrome.cs
- ControlPager.cs
- ResolveNameEventArgs.cs
- JapaneseCalendar.cs
- Column.cs
- SignatureDescription.cs
- ReaderContextStackData.cs
- PageClientProxyGenerator.cs
- HwndSourceParameters.cs
- ProtocolsConfigurationEntry.cs
- DataServiceQuery.cs
- CommonDialog.cs
- _NegotiateClient.cs
- SingleAnimationUsingKeyFrames.cs
- GuidConverter.cs
- OdbcConnection.cs
- PolyBezierSegmentFigureLogic.cs
- PropertyDescriptor.cs
- CharEnumerator.cs
- ReadOnlyCollectionBuilder.cs
- XsdDuration.cs
- Console.cs
- UnhandledExceptionEventArgs.cs
- MemoryFailPoint.cs
- RSAOAEPKeyExchangeFormatter.cs
- OutputCacheProfile.cs
- TextRangeBase.cs
- ListSurrogate.cs
- SQLInt64Storage.cs
- ListViewItemEventArgs.cs
- AnnotationMap.cs
- DefaultAssemblyResolver.cs
- DeviceSpecificChoice.cs
- InfoCardRSAPKCS1KeyExchangeFormatter.cs
- ComNativeDescriptor.cs
- AnnotationStore.cs
- SendMailErrorEventArgs.cs
- ComPlusTraceRecord.cs
- Image.cs
- ImageBrush.cs
- VectorKeyFrameCollection.cs
- TreeWalker.cs
- SettingsProperty.cs
- _ListenerResponseStream.cs
- XPathPatternParser.cs
- HtmlControl.cs
- DateTimeFormatInfo.cs
- GACMembershipCondition.cs
- InputBindingCollection.cs
- ThreadTrace.cs
- BaseDataList.cs
- UtilityExtension.cs
- SqlUserDefinedTypeAttribute.cs
- StringValidator.cs
- MessageFormatterConverter.cs
- Normalization.cs
- DependencySource.cs
- ObjectDataSourceDisposingEventArgs.cs
- TdsParserHelperClasses.cs
- ProcessMonitor.cs
- ECDsaCng.cs
- ServicePoint.cs
- UnmanagedMemoryStream.cs
- DataError.cs
- DrawListViewSubItemEventArgs.cs
- XPathConvert.cs
- MsmqBindingFilter.cs
- UpdatePanelTriggerCollection.cs
- securitycriticaldataClass.cs
- NullToBooleanConverter.cs
- XmlEntity.cs
- ScriptMethodAttribute.cs
- CqlParser.cs
- ExpressionBuilder.cs
- Popup.cs
- WorkflowMessageEventHandler.cs
- CommandHelper.cs
- WebPartTransformerAttribute.cs
- SQLStringStorage.cs
- MexServiceChannelBuilder.cs
- SoapExtensionStream.cs
- InputLanguageCollection.cs
- ThreadExceptionEvent.cs
- ConsoleKeyInfo.cs
- ResourceCategoryAttribute.cs
- ConstrainedDataObject.cs