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
- XappLauncher.cs
- SevenBitStream.cs
- BreadCrumbTextConverter.cs
- DataBoundLiteralControl.cs
- XPathAncestorQuery.cs
- Message.cs
- RawStylusInputCustomDataList.cs
- ObjectConverter.cs
- EventRoute.cs
- GenericUriParser.cs
- HatchBrush.cs
- NestedContainer.cs
- ContentOperations.cs
- EntityDataSourceSelectedEventArgs.cs
- DebugView.cs
- Permission.cs
- DocumentXPathNavigator.cs
- AnonymousIdentificationSection.cs
- QueryContinueDragEvent.cs
- ClientBase.cs
- SqlNodeAnnotations.cs
- ControlCodeDomSerializer.cs
- QilDataSource.cs
- Random.cs
- SrgsItemList.cs
- CodeComment.cs
- SizeFConverter.cs
- ResourcePermissionBase.cs
- RestClientProxyHandler.cs
- SchemaNames.cs
- UpdateExpressionVisitor.cs
- UrlMappingsModule.cs
- DataGridViewComboBoxEditingControl.cs
- SrgsItemList.cs
- MeshGeometry3D.cs
- TextContainerChangedEventArgs.cs
- ELinqQueryState.cs
- Rfc2898DeriveBytes.cs
- IdnMapping.cs
- mil_commands.cs
- SiteMapProvider.cs
- TextEvent.cs
- ItemAutomationPeer.cs
- VBIdentifierDesigner.xaml.cs
- PtsPage.cs
- ArglessEventHandlerProxy.cs
- BoundsDrawingContextWalker.cs
- NavigatorInput.cs
- IItemContainerGenerator.cs
- Axis.cs
- UnhandledExceptionEventArgs.cs
- SqlXml.cs
- SQLGuid.cs
- RowToParametersTransformer.cs
- XamlTreeBuilder.cs
- StorageFunctionMapping.cs
- HwndSourceKeyboardInputSite.cs
- DataServiceContext.cs
- FileNotFoundException.cs
- SpinWait.cs
- XmlBoundElement.cs
- ReflectTypeDescriptionProvider.cs
- StyleXamlParser.cs
- ZipIOLocalFileBlock.cs
- ValidationEventArgs.cs
- CustomAttributeFormatException.cs
- MappingSource.cs
- StoreAnnotationsMap.cs
- TemplateInstanceAttribute.cs
- GeneralEndpointIdentity.cs
- dataprotectionpermission.cs
- DataSourceHelper.cs
- precedingsibling.cs
- EnumUnknown.cs
- WindowsListViewItem.cs
- WriteableOnDemandStream.cs
- SerializationException.cs
- Utils.cs
- ServiceSecurityAuditElement.cs
- MultiSelectRootGridEntry.cs
- GZipDecoder.cs
- SmtpDigestAuthenticationModule.cs
- ListSourceHelper.cs
- MetadataArtifactLoaderFile.cs
- GregorianCalendar.cs
- MetadataArtifactLoaderResource.cs
- CodeTypeOfExpression.cs
- InstanceKeyCollisionException.cs
- ObjectDataSourceStatusEventArgs.cs
- SingleTagSectionHandler.cs
- OperationAbortedException.cs
- DbSourceParameterCollection.cs
- EventDescriptorCollection.cs
- FormatterConverter.cs
- ObjectDataSourceDisposingEventArgs.cs
- ButtonChrome.cs
- WindowsListBox.cs
- UniqueContractNameValidationBehavior.cs
- ListManagerBindingsCollection.cs
- FrameworkTemplate.cs