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
- DPCustomTypeDescriptor.cs
- DataGridViewUtilities.cs
- Rectangle.cs
- XPathItem.cs
- ConnectionPoolManager.cs
- ViewLoader.cs
- SrgsSubset.cs
- DocumentPageTextView.cs
- PreviewPrintController.cs
- OleServicesContext.cs
- Compilation.cs
- Converter.cs
- ReadOnlyDataSource.cs
- ObjectComplexPropertyMapping.cs
- ObjectDesignerDataSourceView.cs
- SafeHGlobalHandleCritical.cs
- COAUTHINFO.cs
- ClientSession.cs
- TraceContextRecord.cs
- DesignTimeSiteMapProvider.cs
- InternalCompensate.cs
- ParameterCollection.cs
- DataGridColumnStyleMappingNameEditor.cs
- FragmentQueryProcessor.cs
- Size.cs
- TransactionScope.cs
- QilXmlReader.cs
- CommonDialog.cs
- StyleSelector.cs
- View.cs
- TimeZone.cs
- AssemblyNameProxy.cs
- RegionInfo.cs
- Point3DAnimation.cs
- Annotation.cs
- SystemIPv4InterfaceProperties.cs
- TransformationRules.cs
- TrackingAnnotationCollection.cs
- ToolStripDropDown.cs
- SendActivityDesignerTheme.cs
- BaseTemplateParser.cs
- ReaderOutput.cs
- GridSplitterAutomationPeer.cs
- ConsoleTraceListener.cs
- MimeImporter.cs
- _UriTypeConverter.cs
- ConfigurationManagerHelperFactory.cs
- QueuePropertyVariants.cs
- IPPacketInformation.cs
- shaperfactoryquerycachekey.cs
- ClientConfigurationSystem.cs
- ParseHttpDate.cs
- WeakReadOnlyCollection.cs
- DigitalSignatureProvider.cs
- ProofTokenCryptoHandle.cs
- Visual3D.cs
- HtmlFormWrapper.cs
- BufferBuilder.cs
- TrackingProfile.cs
- LineServicesRun.cs
- WebResourceUtil.cs
- HierarchicalDataBoundControlAdapter.cs
- FieldDescriptor.cs
- CompModSwitches.cs
- DataGridViewDataConnection.cs
- TextMarkerSource.cs
- WorkflowCommandExtensionItem.cs
- AspNetSynchronizationContext.cs
- GeneratedContractType.cs
- PropertyEntry.cs
- ReaderWriterLock.cs
- Array.cs
- DebugTracing.cs
- PathSegmentCollection.cs
- DbProviderFactories.cs
- SchemaImporter.cs
- RegexStringValidator.cs
- Oci.cs
- WebBrowserNavigatedEventHandler.cs
- ProxyHwnd.cs
- SafeLocalAllocation.cs
- XmlChildNodes.cs
- OracleDataAdapter.cs
- RadioButtonAutomationPeer.cs
- EtwTrace.cs
- BlockUIContainer.cs
- LogManagementAsyncResult.cs
- AvTraceDetails.cs
- DocumentCollection.cs
- ExpressionBuilderCollection.cs
- FragmentQueryProcessor.cs
- Regex.cs
- DateTimeOffset.cs
- ArgumentOutOfRangeException.cs
- HMACRIPEMD160.cs
- EntityReference.cs
- ClassHandlersStore.cs
- AuthenticationModuleElement.cs
- UniqueEventHelper.cs
- ImmutableObjectAttribute.cs