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
- XmlEncodedRawTextWriter.cs
- ValidationErrorEventArgs.cs
- CustomErrorsSectionWrapper.cs
- Border.cs
- Html32TextWriter.cs
- EdgeModeValidation.cs
- DbConnectionStringBuilder.cs
- NullReferenceException.cs
- _SSPIWrapper.cs
- MethodBuilderInstantiation.cs
- WebPartDeleteVerb.cs
- PictureBox.cs
- FolderBrowserDialog.cs
- ExclusiveCanonicalizationTransform.cs
- KeyValuePair.cs
- ContentValidator.cs
- TextTreeInsertElementUndoUnit.cs
- XmlReturnReader.cs
- WebServiceParameterData.cs
- SizeLimitedCache.cs
- SessionStateModule.cs
- CurrentChangingEventArgs.cs
- CollectionViewProxy.cs
- GenericTypeParameterBuilder.cs
- DtdParser.cs
- UpdateRecord.cs
- OracleDateTime.cs
- DataGridViewToolTip.cs
- CompModSwitches.cs
- _ChunkParse.cs
- LinkedList.cs
- MimeWriter.cs
- HybridDictionary.cs
- ObjectAnimationUsingKeyFrames.cs
- CompareInfo.cs
- ImageCodecInfo.cs
- ImageFormatConverter.cs
- EmptyEnumerable.cs
- ValidatedControlConverter.cs
- Brush.cs
- DetailsViewDeletedEventArgs.cs
- SchemaLookupTable.cs
- MultiAsyncResult.cs
- KeyboardEventArgs.cs
- InternalCache.cs
- ComboBox.cs
- DataSetViewSchema.cs
- PageHandlerFactory.cs
- LineBreakRecord.cs
- SimplePropertyEntry.cs
- ToolStripRenderer.cs
- MimeTypeAttribute.cs
- UIElementHelper.cs
- TextRenderingModeValidation.cs
- FramingChannels.cs
- BinarySerializer.cs
- RemoteTokenFactory.cs
- Pointer.cs
- Compensation.cs
- CrossContextChannel.cs
- BadImageFormatException.cs
- CookieProtection.cs
- SmiConnection.cs
- DataGridCell.cs
- ByteKeyFrameCollection.cs
- HttpCachePolicy.cs
- RotateTransform3D.cs
- IntSecurity.cs
- Effect.cs
- XsltLoader.cs
- GuidelineCollection.cs
- _ShellExpression.cs
- PerformanceCountersElement.cs
- SqlDataSourceCustomCommandPanel.cs
- ChangeTracker.cs
- IUnknownConstantAttribute.cs
- ManipulationVelocities.cs
- SqlRecordBuffer.cs
- ToolbarAUtomationPeer.cs
- ListViewSortEventArgs.cs
- DoWorkEventArgs.cs
- Stack.cs
- ThreadLocal.cs
- PropertyGridEditorPart.cs
- HitTestWithGeometryDrawingContextWalker.cs
- SqlParameterizer.cs
- Annotation.cs
- WebPartHelpVerb.cs
- WebResourceAttribute.cs
- WeakRefEnumerator.cs
- DSASignatureFormatter.cs
- CdpEqualityComparer.cs
- Tool.cs
- TextBoxBase.cs
- BaseServiceProvider.cs
- DTCTransactionManager.cs
- CompilerScopeManager.cs
- NamespaceList.cs
- Config.cs
- DispatcherFrame.cs