Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Activities / ConditionalBranch.cs / 1305376 / ConditionalBranch.cs
namespace System.Workflow.Activities { #region Imports using System; using System.Text; using System.Reflection; using System.Collections; using System.CodeDom; using System.Collections.Generic; using System.ComponentModel; using System.ComponentModel.Design; using System.Drawing; using System.Workflow.ComponentModel; using System.Workflow.ComponentModel.Design; using System.Workflow.ComponentModel.Compiler; using System.Workflow.Activities.Common; #endregion [Designer(typeof(IfElseBranchDesigner), typeof(IDesigner))] [ToolboxItem(false)] [ActivityValidator(typeof(IfElseBranchValidator))] [ToolboxBitmap(typeof(IfElseBranchActivity), "Resources.DecisionBranch.bmp")] [SRCategory(SR.Standard)] public sealed class IfElseBranchActivity: SequenceActivity { public IfElseBranchActivity() { } public IfElseBranchActivity(string name) : base(name) { } //metadata properties go here public static readonly DependencyProperty ConditionProperty = DependencyProperty.Register("Condition", typeof(ActivityCondition), typeof(IfElseBranchActivity), new PropertyMetadata(DependencyPropertyOptions.Metadata)); [SRCategory(SR.Conditions)] [SRDescription(SR.ConditionDescr)] [RefreshProperties(RefreshProperties.Repaint)] [DefaultValue(null)] public ActivityCondition Condition { get { return base.GetValue(ConditionProperty) as ActivityCondition; } set { base.SetValue(ConditionProperty, value); } } } internal sealed class IfElseBranchValidator : CompositeActivityValidator { public override ValidationErrorCollection Validate(ValidationManager manager, object obj) { ValidationErrorCollection validationErrors = base.Validate(manager, obj); IfElseBranchActivity ifElseBranch = obj as IfElseBranchActivity; if (ifElseBranch == null) throw new ArgumentException(SR.GetString(SR.Error_UnexpectedArgumentType, typeof(IfElseBranchActivity).FullName), "obj"); // parent must be conditional IfElseActivity ifElse = ifElseBranch.Parent as IfElseActivity; if(ifElse == null) validationErrors.Add(new ValidationError(SR.GetString(SR.Error_ConditionalBranchParentNotConditional), ErrorNumbers.Error_ConditionalBranchParentNotConditional)); bool isLastBranch = (ifElse != null && ifElse.EnabledActivities.Count > 1 && (ifElse.EnabledActivities[ifElse.EnabledActivities.Count - 1] == ifElseBranch)); if (!isLastBranch || ifElseBranch.Condition != null) { if (ifElseBranch.Condition == null) validationErrors.Add(ValidationError.GetNotSetValidationError("Condition")); } return validationErrors; } } } // 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
- TypeToken.cs
- SqlIdentifier.cs
- Main.cs
- CounterCreationDataConverter.cs
- AbstractExpressions.cs
- GeneralTransform.cs
- Vector3DValueSerializer.cs
- MobileUserControlDesigner.cs
- StrongNameUtility.cs
- ObjectStorage.cs
- ProviderException.cs
- DataDocumentXPathNavigator.cs
- OutOfProcStateClientManager.cs
- StringValueSerializer.cs
- HashJoinQueryOperatorEnumerator.cs
- RegexEditorDialog.cs
- RtfToXamlLexer.cs
- SqlRecordBuffer.cs
- DesignerGenericWebPart.cs
- NullRuntimeConfig.cs
- PaperSize.cs
- DataViewSettingCollection.cs
- DataContractFormatAttribute.cs
- _NTAuthentication.cs
- PhysicalAddress.cs
- Compilation.cs
- WindowVisualStateTracker.cs
- FontWeightConverter.cs
- FontSource.cs
- IISMapPath.cs
- XmlDictionary.cs
- InputMethodStateChangeEventArgs.cs
- KeysConverter.cs
- LinqDataSourceSelectEventArgs.cs
- DiscoveryServerProtocol.cs
- ConfigurationErrorsException.cs
- QueryExtender.cs
- Int64AnimationUsingKeyFrames.cs
- GenericRootAutomationPeer.cs
- FloaterParagraph.cs
- SourceSwitch.cs
- MultilineStringEditor.cs
- ManagementObjectCollection.cs
- ObjectViewFactory.cs
- DBSqlParser.cs
- ColumnMapVisitor.cs
- ClientConfigurationHost.cs
- SqlReorderer.cs
- ContainerAction.cs
- ReferencedAssembly.cs
- ZipIOBlockManager.cs
- WorkflowServiceNamespace.cs
- HostProtectionException.cs
- RegexCaptureCollection.cs
- CorrelationQueryBehavior.cs
- MaskedTextBoxTextEditor.cs
- VerificationAttribute.cs
- sitestring.cs
- ScrollBar.cs
- QueryContext.cs
- ConfigurationConverterBase.cs
- HostedTransportConfigurationManager.cs
- OdbcConnectionHandle.cs
- WebScriptClientGenerator.cs
- GeometryCollection.cs
- XsltSettings.cs
- AssemblyResourceLoader.cs
- ActiveXHost.cs
- SamlDoNotCacheCondition.cs
- ClientSideProviderDescription.cs
- FunctionMappingTranslator.cs
- SafeRightsManagementSessionHandle.cs
- IDictionary.cs
- BookmarkEventArgs.cs
- DecoderFallbackWithFailureFlag.cs
- DoubleAnimationUsingPath.cs
- XmlLangPropertyAttribute.cs
- HttpRequestWrapper.cs
- PageParser.cs
- BufferModesCollection.cs
- DesignerActionVerbList.cs
- Single.cs
- Attributes.cs
- WebServiceErrorEvent.cs
- EpmHelper.cs
- FrameworkElementAutomationPeer.cs
- AppSettingsReader.cs
- AccessibleObject.cs
- SystemResourceHost.cs
- PropertyRef.cs
- SqlDependencyUtils.cs
- Byte.cs
- SqlNodeTypeOperators.cs
- GroupByExpressionRewriter.cs
- WebPartUtil.cs
- AsymmetricSignatureFormatter.cs
- XamlReaderHelper.cs
- TreeViewEvent.cs
- PlanCompilerUtil.cs
- CubicEase.cs