Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Activities / StateInitialization.cs / 1305376 / StateInitialization.cs
namespace System.Workflow.Activities { #region Imports using System; using System.Text; using System.Reflection; using System.Collections; using System.Collections.Generic; using System.CodeDom; 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 [SRDescription(SR.StateInitializationActivityDescription)] [Designer(typeof(StateInitializationDesigner), typeof(IDesigner))] [ToolboxItem(typeof(ActivityToolboxItem))] [ToolboxBitmap(typeof(StateInitializationActivity), "Resources.StateInitializationActivity.png")] [ActivityValidator(typeof(StateInitializationValidator))] [SRCategory(SR.Standard)] [System.Runtime.InteropServices.ComVisible(false)] public sealed class StateInitializationActivity : SequenceActivity { public StateInitializationActivity() { } public StateInitializationActivity(string name) : base(name) { } } [System.Runtime.InteropServices.ComVisible(false)] internal sealed class StateInitializationValidator : CompositeActivityValidator { public override ValidationErrorCollection Validate(ValidationManager manager, object obj) { ValidationErrorCollection validationErrors = base.Validate(manager, obj); StateInitializationActivity stateInitialization = obj as StateInitializationActivity; if (stateInitialization == null) throw new ArgumentException(SR.GetString(SR.Error_UnexpectedArgumentType, typeof(StateInitializationActivity).FullName), "obj"); StateActivity state = stateInitialization.Parent as StateActivity; if (state == null) { validationErrors.Add(new ValidationError(SR.GetError_StateInitializationParentNotState(), ErrorNumbers.Error_StateHandlerParentNotState)); return validationErrors; } foreach (Activity activity in state.EnabledActivities) { StateInitializationActivity childStateInitialization = activity as StateInitializationActivity; if (childStateInitialization != null) { if (childStateInitialization == stateInitialization) continue; validationErrors.Add(new ValidationError( SR.GetError_MultipleStateInitializationActivities(), ErrorNumbers.Error_MultipleStateInitializationActivities)); break; } } ValidateSetStateInsideStateInitialization(stateInitialization, state, validationErrors); if (StateMachineHelpers.ContainsEventActivity(stateInitialization)) { validationErrors.Add(new ValidationError(SR.GetError_EventActivityNotValidInStateInitialization(), ErrorNumbers.Error_EventActivityNotValidInStateHandler)); } return validationErrors; } private void ValidateSetStateInsideStateInitialization(StateInitializationActivity stateInitialization, StateActivity state, ValidationErrorCollection validationErrors) { ValidateSetStateInsideStateInitializationCore(stateInitialization, state, validationErrors); } private void ValidateSetStateInsideStateInitializationCore(CompositeActivity compositeActivity, StateActivity state, ValidationErrorCollection validationErrors) { foreach (Activity activity in compositeActivity.EnabledActivities) { CompositeActivity childCompositeActivity = activity as CompositeActivity; if (childCompositeActivity != null) { ValidateSetStateInsideStateInitializationCore(childCompositeActivity, state, validationErrors); } else { SetStateActivity setState = activity as SetStateActivity; if (setState != null) { if (!String.IsNullOrEmpty(setState.TargetStateName)) { if (setState.TargetStateName.Equals(state.QualifiedName)) { validationErrors.Add(new ValidationError( SR.GetError_InvalidTargetStateInStateInitialization(), ErrorNumbers.Error_InvalidTargetStateInStateInitialization)); return; } } } } } } } } // 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
- FullTextBreakpoint.cs
- ToolStripItemCollection.cs
- DbExpressionVisitor.cs
- XamlRtfConverter.cs
- ValidationErrorInfo.cs
- StylusPointPropertyInfo.cs
- WindowsRichEditRange.cs
- AssemblyBuilder.cs
- Root.cs
- ViewStateAttachedPropertyFeature.cs
- DataControlCommands.cs
- ContainerControlDesigner.cs
- SafeSystemMetrics.cs
- Annotation.cs
- FloaterParagraph.cs
- ModuleConfigurationInfo.cs
- OptimalBreakSession.cs
- ParameterElementCollection.cs
- OleDbTransaction.cs
- Identifier.cs
- GlobalItem.cs
- ClientScriptManager.cs
- FlowSwitchLink.cs
- SimpleLine.cs
- WebPartHeaderCloseVerb.cs
- Condition.cs
- XmlRawWriterWrapper.cs
- ImageField.cs
- ReadOnlyHierarchicalDataSource.cs
- NoClickablePointException.cs
- PolicyStatement.cs
- CodeSubDirectoriesCollection.cs
- StatusBarAutomationPeer.cs
- XmlReflectionImporter.cs
- QuaternionAnimation.cs
- SecurityTokenTypes.cs
- Stopwatch.cs
- OdbcUtils.cs
- Base64Encoder.cs
- EntityConnectionStringBuilderItem.cs
- FixedBufferAttribute.cs
- EnterpriseServicesHelper.cs
- BulletChrome.cs
- SamlDoNotCacheCondition.cs
- DataListItemCollection.cs
- EncodingTable.cs
- MailWebEventProvider.cs
- SBCSCodePageEncoding.cs
- ObjectTypeMapping.cs
- AccessControlEntry.cs
- EntitySet.cs
- CompoundFileDeflateTransform.cs
- Geometry.cs
- RowTypeElement.cs
- Label.cs
- CompositeDataBoundControl.cs
- NeutralResourcesLanguageAttribute.cs
- SchemaNamespaceManager.cs
- InputBinder.cs
- DataControlImageButton.cs
- SqlCacheDependencyDatabase.cs
- HttpRuntime.cs
- InertiaRotationBehavior.cs
- PresentationTraceSources.cs
- SchemaComplexType.cs
- ResourceType.cs
- RoleManagerModule.cs
- RequiredAttributeAttribute.cs
- ProvidersHelper.cs
- SmtpClient.cs
- DocumentSchemaValidator.cs
- PointCollection.cs
- WsdlParser.cs
- TextDecorations.cs
- ScopelessEnumAttribute.cs
- OdbcHandle.cs
- ReferenceEqualityComparer.cs
- AnnotationElement.cs
- ChtmlTextWriter.cs
- XPathConvert.cs
- ProfileServiceManager.cs
- TreeNodeSelectionProcessor.cs
- GC.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- ScrollData.cs
- WindowsRegion.cs
- updateconfighost.cs
- DelegatingConfigHost.cs
- EntityDesignerDataSourceView.cs
- JoinSymbol.cs
- FileFormatException.cs
- ModulesEntry.cs
- TemplateLookupAction.cs
- UserValidatedEventArgs.cs
- RemotingConfigParser.cs
- COM2PictureConverter.cs
- ComplexBindingPropertiesAttribute.cs
- ServiceManager.cs
- XmlSchemaChoice.cs
- XmlQueryType.cs