Code:
/ 4.0 / 4.0 / 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. 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
- Ticks.cs
- OracleDateTime.cs
- EncryptRequest.cs
- FlowDocumentPageViewerAutomationPeer.cs
- clipboard.cs
- RuleSetCollection.cs
- StringSource.cs
- ListItemConverter.cs
- CompressStream.cs
- TimelineCollection.cs
- GeneralTransformCollection.cs
- ConfigXmlWhitespace.cs
- Matrix3D.cs
- SiteMapNodeCollection.cs
- ConsoleTraceListener.cs
- PrimaryKeyTypeConverter.cs
- ExpandedWrapper.cs
- ApplicationActivator.cs
- RequestResizeEvent.cs
- HttpCacheVaryByContentEncodings.cs
- CompleteWizardStep.cs
- OperationAbortedException.cs
- DynamicDocumentPaginator.cs
- DuplexClientBase.cs
- Point3DConverter.cs
- SqlXmlStorage.cs
- RC2.cs
- NullableConverter.cs
- IImplicitResourceProvider.cs
- ConnectionString.cs
- Permission.cs
- ResourceContainer.cs
- GlobalProxySelection.cs
- LogicalMethodInfo.cs
- QuaternionAnimation.cs
- ExceptionUtil.cs
- Win32Exception.cs
- ImageMapEventArgs.cs
- PresentationAppDomainManager.cs
- WebEventTraceProvider.cs
- UserPreferenceChangedEventArgs.cs
- ParseChildrenAsPropertiesAttribute.cs
- DbBuffer.cs
- smtppermission.cs
- DataListGeneralPage.cs
- listviewsubitemcollectioneditor.cs
- ScrollBarAutomationPeer.cs
- MSG.cs
- TranslateTransform3D.cs
- HttpCookiesSection.cs
- DataSourceSelectArguments.cs
- basenumberconverter.cs
- DataGridViewToolTip.cs
- WebPartMovingEventArgs.cs
- GeneralTransform2DTo3D.cs
- FloatMinMaxAggregationOperator.cs
- BaseInfoTable.cs
- SortQuery.cs
- LogoValidationException.cs
- NativeMethods.cs
- AccessDataSourceView.cs
- TextCollapsingProperties.cs
- BooleanFunctions.cs
- AutomationElementCollection.cs
- MailBnfHelper.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- PartialTrustVisibleAssemblyCollection.cs
- Point3DConverter.cs
- AutomationEvent.cs
- InputLanguageCollection.cs
- XAMLParseException.cs
- Decoder.cs
- PeerTransportListenAddressValidator.cs
- ACE.cs
- ResourceLoader.cs
- QueryCacheEntry.cs
- ObjectItemCollectionAssemblyCacheEntry.cs
- ToolStripPanelRow.cs
- StringConcat.cs
- PermissionSetEnumerator.cs
- Button.cs
- handlecollector.cs
- XPathNodePointer.cs
- WebPartConnectionsConfigureVerb.cs
- CounterSetInstanceCounterDataSet.cs
- Console.cs
- _NtlmClient.cs
- SspiSafeHandles.cs
- BinaryCommonClasses.cs
- SqlTransaction.cs
- NamespaceDecl.cs
- LinkedResourceCollection.cs
- HTTPNotFoundHandler.cs
- TreeNodeStyleCollection.cs
- ImageDrawing.cs
- SqlConnectionStringBuilder.cs
- ListViewEditEventArgs.cs
- RepeatInfo.cs
- ExpressionVisitor.cs
- ImmutablePropertyDescriptorGridEntry.cs