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
- PropertyEntry.cs
- ItemCheckedEvent.cs
- TextParagraphCache.cs
- MultiBindingExpression.cs
- LassoHelper.cs
- SubclassTypeValidatorAttribute.cs
- CodeSubDirectoriesCollection.cs
- XmlTextEncoder.cs
- URI.cs
- SystemParameters.cs
- UnionCqlBlock.cs
- TraceUtility.cs
- OpCellTreeNode.cs
- LogPolicy.cs
- OdbcUtils.cs
- HiddenFieldPageStatePersister.cs
- TextSegment.cs
- HttpException.cs
- TextRangeAdaptor.cs
- DynamicQueryableWrapper.cs
- ProjectedSlot.cs
- ZipIOLocalFileBlock.cs
- DescendentsWalker.cs
- LinkConverter.cs
- ProfileService.cs
- HttpProfileBase.cs
- Matrix.cs
- NTAccount.cs
- GPStream.cs
- XmlWriterTraceListener.cs
- HiddenFieldPageStatePersister.cs
- ShimAsPublicXamlType.cs
- SystemTcpConnection.cs
- UriSection.cs
- StateBag.cs
- Solver.cs
- BigIntegerStorage.cs
- GlyphRunDrawing.cs
- ProfileSection.cs
- FormClosingEvent.cs
- MissingMemberException.cs
- ObjectSet.cs
- OdbcDataAdapter.cs
- ActivityCollectionMarkupSerializer.cs
- cookiecontainer.cs
- C14NUtil.cs
- ReflectionTypeLoadException.cs
- Run.cs
- TypeSystemHelpers.cs
- _PooledStream.cs
- XmlnsCache.cs
- RightsManagementEncryptionTransform.cs
- ADMembershipProvider.cs
- ExtendedPropertyDescriptor.cs
- StackSpiller.Bindings.cs
- HttpInputStream.cs
- WorkflowDurableInstance.cs
- TemplateKeyConverter.cs
- HttpResponseHeader.cs
- RadioButtonAutomationPeer.cs
- TemplateKey.cs
- BamlLocalizableResource.cs
- DataSourceHelper.cs
- InstanceDataCollection.cs
- RequiredFieldValidator.cs
- CanExecuteRoutedEventArgs.cs
- QueryOperator.cs
- ListViewAutomationPeer.cs
- TraceFilter.cs
- RSACryptoServiceProvider.cs
- GPStream.cs
- TextPointer.cs
- WebInvokeAttribute.cs
- EntryIndex.cs
- BindingContext.cs
- DataFormat.cs
- EntryIndex.cs
- Opcode.cs
- ResourceDictionaryCollection.cs
- CurrentTimeZone.cs
- ComponentChangedEvent.cs
- ByteFacetDescriptionElement.cs
- CertificateReferenceElement.cs
- XPathNavigatorKeyComparer.cs
- MetadataUtilsSmi.cs
- XhtmlBasicObjectListAdapter.cs
- MetaModel.cs
- CharEnumerator.cs
- BridgeDataReader.cs
- DataControlFieldHeaderCell.cs
- ConfigXmlAttribute.cs
- PositiveTimeSpanValidatorAttribute.cs
- ThumbAutomationPeer.cs
- OracleConnection.cs
- SizeValueSerializer.cs
- DeferredBinaryDeserializerExtension.cs
- RequiredAttributeAttribute.cs
- TextBlock.cs
- LassoHelper.cs
- SmiEventSink_Default.cs