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
- Drawing.cs
- WebPartMenuStyle.cs
- CompositeTypefaceMetrics.cs
- ViewStateException.cs
- LabelLiteral.cs
- ModelProperty.cs
- VectorValueSerializer.cs
- messageonlyhwndwrapper.cs
- Overlapped.cs
- KnownTypes.cs
- CorrelationQueryBehavior.cs
- ManagementOperationWatcher.cs
- WebScriptEnablingElement.cs
- ItemCollection.cs
- CryptoHelper.cs
- MenuTracker.cs
- DES.cs
- OpCodes.cs
- AssemblyBuilder.cs
- BitmapVisualManager.cs
- HtmlShim.cs
- FileDialog.cs
- VirtualizingPanel.cs
- SHA1.cs
- WebPartConnectionsCancelEventArgs.cs
- ProcessHostConfigUtils.cs
- StringResourceManager.cs
- documentation.cs
- ToolStripDesigner.cs
- RtfToXamlLexer.cs
- counter.cs
- BufferModesCollection.cs
- SpecialFolderEnumConverter.cs
- DelayedRegex.cs
- JoinCqlBlock.cs
- WebRequestModulesSection.cs
- DebugHandleTracker.cs
- QuaternionValueSerializer.cs
- LostFocusEventManager.cs
- RankException.cs
- UnsignedPublishLicense.cs
- QueryStringParameter.cs
- CursorConverter.cs
- ReadWriteObjectLock.cs
- AssertUtility.cs
- DynamicPropertyReader.cs
- MonikerHelper.cs
- DrawingDrawingContext.cs
- ExtensionQuery.cs
- EventSinkHelperWriter.cs
- HashLookup.cs
- IndexedEnumerable.cs
- GridEntryCollection.cs
- TimeSpanStorage.cs
- DocumentPageView.cs
- TextBoxRenderer.cs
- Journaling.cs
- AsyncOperation.cs
- designeractionlistschangedeventargs.cs
- DescendentsWalker.cs
- Converter.cs
- Form.cs
- DictionaryCustomTypeDescriptor.cs
- DataListItemCollection.cs
- XamlPoint3DCollectionSerializer.cs
- XmlBinaryWriter.cs
- DigestTraceRecordHelper.cs
- NullableFloatMinMaxAggregationOperator.cs
- XamlSerializationHelper.cs
- BypassElement.cs
- ISFClipboardData.cs
- NameObjectCollectionBase.cs
- Binding.cs
- StylusTip.cs
- BrowserInteropHelper.cs
- FunctionParameter.cs
- XPathCompileException.cs
- CompensationDesigner.cs
- PathParser.cs
- FunctionDefinition.cs
- ManagementOperationWatcher.cs
- Drawing.cs
- TdsParameterSetter.cs
- ExtensionDataObject.cs
- WebServiceReceiveDesigner.cs
- DataViewSetting.cs
- TextTreeTextElementNode.cs
- DoubleIndependentAnimationStorage.cs
- AdornerHitTestResult.cs
- DropShadowBitmapEffect.cs
- FormsAuthenticationUserCollection.cs
- URI.cs
- ComponentChangedEvent.cs
- Image.cs
- InfocardClientCredentials.cs
- AnnotationComponentManager.cs
- TemplateContent.cs
- webclient.cs
- DocumentXPathNavigator.cs
- QueryOutputWriter.cs