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
- DESCryptoServiceProvider.cs
- AnnotationHighlightLayer.cs
- FilterException.cs
- HttpRuntime.cs
- ToolboxComponentsCreatedEventArgs.cs
- DataGridTable.cs
- AmbientValueAttribute.cs
- UnsafeNativeMethods.cs
- SetterTriggerConditionValueConverter.cs
- CacheHelper.cs
- PrefixQName.cs
- DragEventArgs.cs
- LabelLiteral.cs
- ControlParameter.cs
- Sql8ExpressionRewriter.cs
- VisualBasicDesignerHelper.cs
- NamespaceMapping.cs
- RsaEndpointIdentity.cs
- XmlSchema.cs
- SqlLiftWhereClauses.cs
- CharEntityEncoderFallback.cs
- CustomWebEventKey.cs
- GlyphShapingProperties.cs
- FigureHelper.cs
- xmlfixedPageInfo.cs
- DBProviderConfigurationHandler.cs
- NativeMethods.cs
- DoWorkEventArgs.cs
- TreeNodeCollectionEditor.cs
- MenuItemStyleCollection.cs
- IApplicationTrustManager.cs
- HiddenField.cs
- DataControlFieldCell.cs
- EntitySqlQueryBuilder.cs
- SQLInt16Storage.cs
- Scene3D.cs
- ConfigurationException.cs
- SafeUserTokenHandle.cs
- StructuredTypeInfo.cs
- AnimationException.cs
- SmiContextFactory.cs
- ImageListImage.cs
- TerminatorSinks.cs
- XmlQueryContext.cs
- FixedHyperLink.cs
- returneventsaver.cs
- ProfileModule.cs
- WhitespaceRuleReader.cs
- RenderData.cs
- WebRequest.cs
- PreviewPageInfo.cs
- PageVisual.cs
- SecurityTokenSpecification.cs
- OdbcTransaction.cs
- AbstractSvcMapFileLoader.cs
- DBConnectionString.cs
- SchemaTableOptionalColumn.cs
- CollectionMarkupSerializer.cs
- ControlCodeDomSerializer.cs
- TextBlock.cs
- DbDataAdapter.cs
- WebPartConnectionsCancelVerb.cs
- __TransparentProxy.cs
- TextElementCollection.cs
- CellCreator.cs
- PbrsForward.cs
- dbenumerator.cs
- ColorMatrix.cs
- WebContext.cs
- RangeBaseAutomationPeer.cs
- CombinedGeometry.cs
- Margins.cs
- HttpPostedFileBase.cs
- InvocationExpression.cs
- ServiceNameCollection.cs
- ScriptControl.cs
- StateDesigner.TransitionInfo.cs
- InvalidProgramException.cs
- StylusCollection.cs
- Quaternion.cs
- sapiproxy.cs
- COM2IDispatchConverter.cs
- XPathQueryGenerator.cs
- HttpContext.cs
- VoiceChangeEventArgs.cs
- FormatSettings.cs
- _CommandStream.cs
- QilLoop.cs
- ParagraphResult.cs
- PcmConverter.cs
- ZeroOpNode.cs
- EncoderParameters.cs
- DataServiceProcessingPipeline.cs
- AsymmetricSignatureDeformatter.cs
- Hashtable.cs
- ApplicationCommands.cs
- SoapWriter.cs
- SafeUserTokenHandle.cs
- Utils.cs
- InvalidEnumArgumentException.cs