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
- COM2IProvidePropertyBuilderHandler.cs
- ClientFormsIdentity.cs
- XmlTextWriter.cs
- ChannelFactory.cs
- MissingManifestResourceException.cs
- MultipleViewProviderWrapper.cs
- RSAPKCS1SignatureDeformatter.cs
- FilterException.cs
- Rfc2898DeriveBytes.cs
- PhysicalAddress.cs
- CriticalExceptions.cs
- TogglePattern.cs
- MultiDataTrigger.cs
- Button.cs
- DBCSCodePageEncoding.cs
- CodeTryCatchFinallyStatement.cs
- TableLayoutSettingsTypeConverter.cs
- Duration.cs
- ExtensionSurface.cs
- RenderingEventArgs.cs
- ZoomPercentageConverter.cs
- CheckBoxStandardAdapter.cs
- BitmapFrameEncode.cs
- WebPartDeleteVerb.cs
- ConnectionStringsSection.cs
- IntSecurity.cs
- GridView.cs
- FlowDocumentReaderAutomationPeer.cs
- MsmqElementBase.cs
- COAUTHIDENTITY.cs
- XPathException.cs
- InstancePersistence.cs
- CharacterMetrics.cs
- Comparer.cs
- DataSvcMapFile.cs
- WindowsGrip.cs
- PointLightBase.cs
- XhtmlMobileTextWriter.cs
- TraceUtils.cs
- CompositeActivityCodeGenerator.cs
- MenuBase.cs
- FormViewInsertedEventArgs.cs
- AttributeCollection.cs
- HttpCacheVary.cs
- Sentence.cs
- ObjectDataSourceStatusEventArgs.cs
- BitmapImage.cs
- SqlClientPermission.cs
- SplitterEvent.cs
- RectangleGeometry.cs
- CollectionBase.cs
- Track.cs
- RootProfilePropertySettingsCollection.cs
- EntityCollectionChangedParams.cs
- OleDbFactory.cs
- Vector3dCollection.cs
- DesignTable.cs
- CompoundFileStorageReference.cs
- ArrayWithOffset.cs
- ImageIndexEditor.cs
- StylusPointCollection.cs
- KnownTypeHelper.cs
- GregorianCalendarHelper.cs
- XslAst.cs
- Hashtable.cs
- ClientSponsor.cs
- TreeViewImageIndexConverter.cs
- ListViewUpdateEventArgs.cs
- ToolStripProgressBar.cs
- Stacktrace.cs
- NumberFunctions.cs
- Attributes.cs
- ComplexBindingPropertiesAttribute.cs
- UrlMapping.cs
- OverrideMode.cs
- PointAnimationBase.cs
- HandlerWithFactory.cs
- RegexWorker.cs
- ContainerParaClient.cs
- NotificationContext.cs
- MeasureItemEvent.cs
- ScrollProperties.cs
- TriState.cs
- InnerItemCollectionView.cs
- EntityTypeEmitter.cs
- VariantWrapper.cs
- BmpBitmapEncoder.cs
- DocumentReference.cs
- BindingCompleteEventArgs.cs
- ToolStripItemCollection.cs
- shaperfactory.cs
- ObfuscationAttribute.cs
- RuleAction.cs
- DependentList.cs
- NegatedCellConstant.cs
- FastEncoderWindow.cs
- URLString.cs
- ReachSerializableProperties.cs
- PenLineJoinValidation.cs
- ExceptionUtility.cs