Code:
/ 4.0 / 4.0 / 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. 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
- QueryHandler.cs
- KeyMatchBuilder.cs
- HtmlInputButton.cs
- CaseInsensitiveComparer.cs
- StsCommunicationException.cs
- DiscardableAttribute.cs
- ResourceWriter.cs
- FrameDimension.cs
- ZipFileInfo.cs
- WebHostScriptMappingsInstallComponent.cs
- TextMarkerSource.cs
- CodeDomConfigurationHandler.cs
- WaitHandle.cs
- MD5CryptoServiceProvider.cs
- Pens.cs
- FormsAuthenticationModule.cs
- QuestionEventArgs.cs
- UrlUtility.cs
- SoapAttributeAttribute.cs
- LinkedList.cs
- FileSecurity.cs
- HttpStreamMessageEncoderFactory.cs
- VarRemapper.cs
- ResourceDescriptionAttribute.cs
- DatatypeImplementation.cs
- ImageCreator.cs
- JoinCqlBlock.cs
- base64Transforms.cs
- AsyncSerializedWorker.cs
- WebServiceTypeData.cs
- HttpRequest.cs
- streamingZipPartStream.cs
- CodeConstructor.cs
- DefaultBindingPropertyAttribute.cs
- TextElementEnumerator.cs
- ColorConverter.cs
- ISAPIRuntime.cs
- BulletedList.cs
- ConfigurationFileMap.cs
- GeometryGroup.cs
- ParameterModifier.cs
- StorageEntitySetMapping.cs
- GridViewColumnCollectionChangedEventArgs.cs
- StylusPointProperty.cs
- LocalClientSecuritySettingsElement.cs
- ComponentResourceKeyConverter.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- DataControlButton.cs
- HTMLTextWriter.cs
- Exception.cs
- ComponentResourceKey.cs
- DataGridViewTextBoxCell.cs
- PersonalizationAdministration.cs
- SqlFormatter.cs
- TextBoxBase.cs
- ContextInformation.cs
- ChangesetResponse.cs
- StyleCollectionEditor.cs
- ProcessHost.cs
- BadImageFormatException.cs
- Currency.cs
- SynchronizationContextHelper.cs
- PersonalizableTypeEntry.cs
- ColorBlend.cs
- XsdDataContractExporter.cs
- HyperLink.cs
- Graph.cs
- DetailsViewUpdateEventArgs.cs
- DetailsView.cs
- DataGridViewHeaderCell.cs
- FixedDocumentSequencePaginator.cs
- ProfessionalColorTable.cs
- XmlValidatingReaderImpl.cs
- FragmentQueryProcessor.cs
- UniqueID.cs
- TextBoxLine.cs
- OutOfProcStateClientManager.cs
- DBSqlParserColumnCollection.cs
- DataGridViewCheckBoxColumn.cs
- SoapExtensionTypeElement.cs
- ScriptingSectionGroup.cs
- RegexRunnerFactory.cs
- Types.cs
- UnaryQueryOperator.cs
- NativeWindow.cs
- MexBindingElement.cs
- DatatypeImplementation.cs
- TemplateNameScope.cs
- WebBrowserContainer.cs
- HttpCacheVaryByContentEncodings.cs
- NotSupportedException.cs
- ToolStripStatusLabel.cs
- InvalidCommandTreeException.cs
- CaseInsensitiveOrdinalStringComparer.cs
- SafeArrayTypeMismatchException.cs
- FixUpCollection.cs
- PackageDigitalSignatureManager.cs
- DTCTransactionManager.cs
- Message.cs
- NavigationFailedEventArgs.cs