Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Activities / Policy.cs / 1305376 / Policy.cs
namespace System.Workflow.Activities { using System; using System.Text; using System.Reflection; using System.Collections; using System.CodeDom; using System.ComponentModel; using System.ComponentModel.Design; using System.ComponentModel.Design.Serialization; using System.Drawing; using System.Workflow.ComponentModel; using System.Workflow.ComponentModel.Design; using System.Collections.Generic; using System.Workflow.Activities.Rules; using System.Workflow.Activities.Rules.Design; using System.Workflow.Runtime; using System.Workflow.ComponentModel.Compiler; using System.Drawing.Design; using System.Workflow.Activities.Common; #region Class Policy [SRDescription(SR.PolicyActivityDescription)] [ToolboxBitmap(typeof(PolicyActivity), "Resources.Rule.png")] [ToolboxItem(typeof(ActivityToolboxItem))] [Designer(typeof(PolicyDesigner), typeof(IDesigner))] [SRCategory(SR.Standard)] public sealed class PolicyActivity : Activity { #region Public Dependency Properties public static readonly DependencyProperty RuleSetReferenceProperty = DependencyProperty.Register("RuleSetReference", typeof(RuleSetReference), typeof(PolicyActivity), new PropertyMetadata(DependencyPropertyOptions.Metadata, new Attribute[] { new ValidationOptionAttribute(ValidationOption.Required) })); #endregion #region Constructors public PolicyActivity() { } public PolicyActivity(string name) : base(name) { } #endregion protected override void Initialize(IServiceProvider provider) { // if there is no parent, then there will be no validation of RuleSetReference // as well, there will be no RuleDefinitions if (this.Parent == null) throw new InvalidOperationException(SR.GetString(SR.Error_MustHaveParent)); base.Initialize(provider); } protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext) { if (executionContext == null) throw new ArgumentNullException("executionContext"); Activity declaringActivity = Helpers.GetDeclaringActivity(this); if (declaringActivity == null) declaringActivity = Helpers.GetRootActivity(this); RuleDefinitions ruleDefinitions = (RuleDefinitions)declaringActivity.GetValue(RuleDefinitions.RuleDefinitionsProperty); if (ruleDefinitions != null) { RuleSet ruleSet = ruleDefinitions.RuleSets[this.RuleSetReference.RuleSetName]; if (ruleSet != null) { ruleSet.Execute(declaringActivity, executionContext); } } return ActivityExecutionStatus.Closed; } [SRDescription(SR.RuleSetDescription)] [MergableProperty(false)] public RuleSetReference RuleSetReference { get { return (RuleSetReference)base.GetValue(RuleSetReferenceProperty); } set { base.SetValue(RuleSetReferenceProperty, value); } } } #endregion } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. namespace System.Workflow.Activities { using System; using System.Text; using System.Reflection; using System.Collections; using System.CodeDom; using System.ComponentModel; using System.ComponentModel.Design; using System.ComponentModel.Design.Serialization; using System.Drawing; using System.Workflow.ComponentModel; using System.Workflow.ComponentModel.Design; using System.Collections.Generic; using System.Workflow.Activities.Rules; using System.Workflow.Activities.Rules.Design; using System.Workflow.Runtime; using System.Workflow.ComponentModel.Compiler; using System.Drawing.Design; using System.Workflow.Activities.Common; #region Class Policy [SRDescription(SR.PolicyActivityDescription)] [ToolboxBitmap(typeof(PolicyActivity), "Resources.Rule.png")] [ToolboxItem(typeof(ActivityToolboxItem))] [Designer(typeof(PolicyDesigner), typeof(IDesigner))] [SRCategory(SR.Standard)] public sealed class PolicyActivity : Activity { #region Public Dependency Properties public static readonly DependencyProperty RuleSetReferenceProperty = DependencyProperty.Register("RuleSetReference", typeof(RuleSetReference), typeof(PolicyActivity), new PropertyMetadata(DependencyPropertyOptions.Metadata, new Attribute[] { new ValidationOptionAttribute(ValidationOption.Required) })); #endregion #region Constructors public PolicyActivity() { } public PolicyActivity(string name) : base(name) { } #endregion protected override void Initialize(IServiceProvider provider) { // if there is no parent, then there will be no validation of RuleSetReference // as well, there will be no RuleDefinitions if (this.Parent == null) throw new InvalidOperationException(SR.GetString(SR.Error_MustHaveParent)); base.Initialize(provider); } protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext) { if (executionContext == null) throw new ArgumentNullException("executionContext"); Activity declaringActivity = Helpers.GetDeclaringActivity(this); if (declaringActivity == null) declaringActivity = Helpers.GetRootActivity(this); RuleDefinitions ruleDefinitions = (RuleDefinitions)declaringActivity.GetValue(RuleDefinitions.RuleDefinitionsProperty); if (ruleDefinitions != null) { RuleSet ruleSet = ruleDefinitions.RuleSets[this.RuleSetReference.RuleSetName]; if (ruleSet != null) { ruleSet.Execute(declaringActivity, executionContext); } } return ActivityExecutionStatus.Closed; } [SRDescription(SR.RuleSetDescription)] [MergableProperty(false)] public RuleSetReference RuleSetReference { get { return (RuleSetReference)base.GetValue(RuleSetReferenceProperty); } set { base.SetValue(RuleSetReferenceProperty, value); } } } #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
- EntityClassGenerator.cs
- DecoratedNameAttribute.cs
- IdentityModelStringsVersion1.cs
- SerializerDescriptor.cs
- TcpDuplicateContext.cs
- Slider.cs
- HttpModuleCollection.cs
- DataGridViewCellValidatingEventArgs.cs
- BufferBuilder.cs
- ContentHostHelper.cs
- GridViewCommandEventArgs.cs
- LogFlushAsyncResult.cs
- HttpProfileBase.cs
- CanExecuteRoutedEventArgs.cs
- SmiEventSink_Default.cs
- SafeSecurityHelper.cs
- VisualTreeHelper.cs
- MemberRestriction.cs
- GlyphCache.cs
- XmlCountingReader.cs
- DesignerTransactionCloseEvent.cs
- ReachSerializationUtils.cs
- TargetConverter.cs
- GenericsInstances.cs
- XsdCachingReader.cs
- RegionInfo.cs
- HostedNamedPipeTransportManager.cs
- DnsPermission.cs
- TdsParser.cs
- DataStorage.cs
- LoadedOrUnloadedOperation.cs
- SerializationFieldInfo.cs
- TableLayoutSettings.cs
- ReachVisualSerializerAsync.cs
- DataGridViewColumnTypeEditor.cs
- XmlSchemaComplexContentRestriction.cs
- BuildProviderCollection.cs
- ApplicationServiceManager.cs
- PowerModeChangedEventArgs.cs
- ConstructorExpr.cs
- SID.cs
- LogEntryHeaderSerializer.cs
- ClientSettings.cs
- ListBindableAttribute.cs
- ConditionalDesigner.cs
- ImportContext.cs
- XmlSchemaIdentityConstraint.cs
- PopOutPanel.cs
- DynamicValueConverter.cs
- StorageInfo.cs
- RouteUrlExpressionBuilder.cs
- PenThread.cs
- XmlSchemaCollection.cs
- MobileTemplatedControlDesigner.cs
- WindowsStatusBar.cs
- LinqToSqlWrapper.cs
- TypeToken.cs
- ProtocolsConfigurationEntry.cs
- ReadOnlyHierarchicalDataSourceView.cs
- Repeater.cs
- Hash.cs
- MemberPath.cs
- DeviceContexts.cs
- TripleDES.cs
- DbMetaDataCollectionNames.cs
- SafePointer.cs
- VariableQuery.cs
- ListItemParagraph.cs
- TextDecorationUnitValidation.cs
- RealProxy.cs
- Base64Decoder.cs
- ClassImporter.cs
- OperationInvokerBehavior.cs
- NotFiniteNumberException.cs
- ArrangedElement.cs
- TimeoutHelper.cs
- SHA256Managed.cs
- DataAdapter.cs
- SignatureHelper.cs
- QuaternionRotation3D.cs
- DesignerAttribute.cs
- RefreshEventArgs.cs
- WmlCommandAdapter.cs
- MD5.cs
- UpDownEvent.cs
- Base64Encoder.cs
- FontFamily.cs
- ConfigsHelper.cs
- SoapInteropTypes.cs
- LinkedList.cs
- WebPartChrome.cs
- SystemThemeKey.cs
- Subset.cs
- PassportAuthenticationEventArgs.cs
- MenuCommand.cs
- AdornerDecorator.cs
- FilterRepeater.cs
- ImageSourceConverter.cs
- CollectionView.cs
- DrawingDrawingContext.cs