Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SourceInterpreter.cs
- MessageDesigner.cs
- PenLineCapValidation.cs
- GraphicsContext.cs
- CommonProperties.cs
- CodeSnippetTypeMember.cs
- MouseEventArgs.cs
- TransformGroup.cs
- PropertyToken.cs
- NegationPusher.cs
- DataRowView.cs
- RangeValueProviderWrapper.cs
- CodeLinePragma.cs
- Ticks.cs
- ProviderCommandInfoUtils.cs
- _PooledStream.cs
- PathFigureCollection.cs
- CuspData.cs
- ScrollContentPresenter.cs
- TileBrush.cs
- NamedPipeConnectionPoolSettings.cs
- PieceDirectory.cs
- Quaternion.cs
- XmlMemberMapping.cs
- ResizeGrip.cs
- HttpConfigurationSystem.cs
- AdapterUtil.cs
- MostlySingletonList.cs
- HandledEventArgs.cs
- InfocardExtendedInformationCollection.cs
- Stroke2.cs
- PackageDigitalSignatureManager.cs
- ConnectionStringsSection.cs
- TemplateComponentConnector.cs
- CodeExpressionCollection.cs
- StyleSheetRefUrlEditor.cs
- TransactionScope.cs
- XmlDictionaryReader.cs
- VideoDrawing.cs
- ByteStreamGeometryContext.cs
- DataGridViewHitTestInfo.cs
- IFormattable.cs
- ResXResourceSet.cs
- InheritedPropertyDescriptor.cs
- HttpHandlerAction.cs
- StyleHelper.cs
- SynchronizingStream.cs
- DateTimeValueSerializerContext.cs
- UnicodeEncoding.cs
- ISFTagAndGuidCache.cs
- HTTPRemotingHandler.cs
- DataGridViewImageCell.cs
- DiagnosticsConfigurationHandler.cs
- TreeViewBindingsEditorForm.cs
- SoapObjectReader.cs
- ResourcesBuildProvider.cs
- LocalFileSettingsProvider.cs
- DateTimeConverter2.cs
- StorageComplexTypeMapping.cs
- HostingEnvironment.cs
- CannotUnloadAppDomainException.cs
- SimpleTextLine.cs
- CustomSignedXml.cs
- DebugControllerThread.cs
- ExpressionParser.cs
- TextBoxView.cs
- AnnouncementEndpointElement.cs
- Nullable.cs
- ColumnWidthChangedEvent.cs
- ApplicationCommands.cs
- SpellerHighlightLayer.cs
- AutomationPattern.cs
- PhonemeEventArgs.cs
- WizardPanelChangingEventArgs.cs
- QuadraticBezierSegment.cs
- OleDbRowUpdatedEvent.cs
- TemplateComponentConnector.cs
- CodeThrowExceptionStatement.cs
- RawStylusInputCustomData.cs
- GcSettings.cs
- SqlRetyper.cs
- ContextMenu.cs
- HtmlWindow.cs
- GlyphsSerializer.cs
- AsymmetricKeyExchangeFormatter.cs
- DataControlCommands.cs
- DescendentsWalker.cs
- GradientStop.cs
- FixedSOMTableCell.cs
- OdbcConnection.cs
- XsdDateTime.cs
- DesignerActionTextItem.cs
- ExpandCollapseProviderWrapper.cs
- FixedHighlight.cs
- CodeDomExtensionMethods.cs
- NameNode.cs
- OdbcParameterCollection.cs
- ExceptionValidationRule.cs
- BindingOperations.cs
- IPGlobalProperties.cs