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
- AttachedPropertyBrowsableForTypeAttribute.cs
- TogglePatternIdentifiers.cs
- ProjectionPruner.cs
- NativeCppClassAttribute.cs
- ScrollableControlDesigner.cs
- LicFileLicenseProvider.cs
- ConfigurationManager.cs
- CacheEntry.cs
- StringInfo.cs
- DispatcherHookEventArgs.cs
- ResourcesGenerator.cs
- DesignTimeParseData.cs
- ItemList.cs
- WebPartDescriptionCollection.cs
- ExpressionPrefixAttribute.cs
- Logging.cs
- Brush.cs
- SqlCacheDependencyDatabaseCollection.cs
- SortKey.cs
- StreamMarshaler.cs
- BitmapSource.cs
- X509Chain.cs
- InfoCardKeyedHashAlgorithm.cs
- EqualityComparer.cs
- InputLangChangeRequestEvent.cs
- GPRECTF.cs
- SQLBinary.cs
- BuildProviderAppliesToAttribute.cs
- XhtmlBasicCalendarAdapter.cs
- DataGridViewImageCell.cs
- formatstringdialog.cs
- Matrix3DValueSerializer.cs
- TransformConverter.cs
- XmlSchemaValidator.cs
- CompilationLock.cs
- OracleRowUpdatingEventArgs.cs
- ZipIOModeEnforcingStream.cs
- RichTextBoxConstants.cs
- HashSetDebugView.cs
- MetadataUtil.cs
- SpinWait.cs
- ObfuscationAttribute.cs
- VectorAnimationUsingKeyFrames.cs
- RectAnimation.cs
- Section.cs
- TrustSection.cs
- Assembly.cs
- CompositeTypefaceMetrics.cs
- ScrollViewer.cs
- CompareValidator.cs
- NamespaceTable.cs
- loginstatus.cs
- JsonDeserializer.cs
- HandleCollector.cs
- RecognizeCompletedEventArgs.cs
- LabelAutomationPeer.cs
- Storyboard.cs
- StorageFunctionMapping.cs
- RandomDelaySendsAsyncResult.cs
- TraceAsyncResult.cs
- Message.cs
- DataRecordObjectView.cs
- DataProtection.cs
- ConfigurationErrorsException.cs
- Task.cs
- Int32Rect.cs
- Nullable.cs
- NativeCppClassAttribute.cs
- RIPEMD160.cs
- StringUtil.cs
- IQueryable.cs
- Grammar.cs
- MarginCollapsingState.cs
- Permission.cs
- FrugalMap.cs
- LowerCaseStringConverter.cs
- LocalizedNameDescriptionPair.cs
- SQLMembershipProvider.cs
- FontUnitConverter.cs
- UseLicense.cs
- LookupNode.cs
- TokenBasedSet.cs
- ExpressionConverter.cs
- IntegerCollectionEditor.cs
- OleDbParameterCollection.cs
- SharedUtils.cs
- Point4D.cs
- LinqMaximalSubtreeNominator.cs
- DispatchChannelSink.cs
- ZipArchive.cs
- ReferenceCountedObject.cs
- Utils.cs
- CriticalHandle.cs
- MissingMemberException.cs
- BlockUIContainer.cs
- BrowserCapabilitiesCompiler.cs
- AuthenticateEventArgs.cs
- PackagePart.cs
- EncoderNLS.cs
- OperationDescriptionCollection.cs