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
- AutomationPeer.cs
- UIElement3D.cs
- SqlTopReducer.cs
- DataContractSerializerOperationFormatter.cs
- SqlCaseSimplifier.cs
- DataGridViewLayoutData.cs
- ProcessThreadCollection.cs
- UIElement.cs
- IncrementalCompileAnalyzer.cs
- LinkedResource.cs
- SectionInformation.cs
- SQLResource.cs
- ConfigurationSectionGroup.cs
- CodeMemberField.cs
- XmlUrlResolver.cs
- NotifyCollectionChangedEventArgs.cs
- CacheDependency.cs
- BuildProvidersCompiler.cs
- AppSettingsSection.cs
- MultilineStringConverter.cs
- InteropTrackingRecord.cs
- XmlBufferReader.cs
- FaultReason.cs
- CompModSwitches.cs
- COM2PropertyDescriptor.cs
- MouseEvent.cs
- Page.cs
- TransactionManager.cs
- HttpCapabilitiesEvaluator.cs
- ApplicationHost.cs
- SlipBehavior.cs
- ObjectQueryProvider.cs
- GroupDescription.cs
- DomNameTable.cs
- FormsAuthenticationConfiguration.cs
- FieldBuilder.cs
- RegionIterator.cs
- CheckableControlBaseAdapter.cs
- CancellationScope.cs
- TranslateTransform3D.cs
- ClientUrlResolverWrapper.cs
- XslVisitor.cs
- TypeLoadException.cs
- EqualityComparer.cs
- CodeVariableReferenceExpression.cs
- DbConnectionFactory.cs
- ExpressionBindingsDialog.cs
- RegexBoyerMoore.cs
- ListControlActionList.cs
- TextAdaptor.cs
- WinEventWrap.cs
- UnsafeNativeMethods.cs
- ReferenceEqualityComparer.cs
- AuthenticationModuleElementCollection.cs
- ScrollItemProviderWrapper.cs
- XmlSchemaAnyAttribute.cs
- SqlMethodCallConverter.cs
- DiscoveryMessageSequence11.cs
- FrameworkName.cs
- DeviceSpecificDialogCachedState.cs
- CollectionViewGroupRoot.cs
- DBCommandBuilder.cs
- MeasureData.cs
- ComPlusTraceRecord.cs
- XmlEncodedRawTextWriter.cs
- BamlCollectionHolder.cs
- FormatterServices.cs
- VirtualizedItemProviderWrapper.cs
- OdbcConnectionPoolProviderInfo.cs
- VisualStateManager.cs
- AttributeAction.cs
- GlobalEventManager.cs
- PersistenceTypeAttribute.cs
- ComponentDispatcherThread.cs
- HttpCookiesSection.cs
- XpsImageSerializationService.cs
- DataChangedEventManager.cs
- SqlInternalConnection.cs
- CommandEventArgs.cs
- XmlQueryContext.cs
- PassportPrincipal.cs
- DispatcherHookEventArgs.cs
- AddInStore.cs
- AbsoluteQuery.cs
- CodeSnippetStatement.cs
- ValidateNames.cs
- SRDisplayNameAttribute.cs
- AppDomainUnloadedException.cs
- WindowsListViewGroupHelper.cs
- FtpWebResponse.cs
- ActivityExecutorOperation.cs
- ViewSimplifier.cs
- NativeMethods.cs
- GridViewColumn.cs
- Command.cs
- XmlSchemaAll.cs
- EventRecordWrittenEventArgs.cs
- FileUpload.cs
- XsltLibrary.cs
- ParamArrayAttribute.cs