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
- CultureTableRecord.cs
- TransportChannelFactory.cs
- TypeNameConverter.cs
- WebPartDisplayModeEventArgs.cs
- RangeValidator.cs
- ProvidersHelper.cs
- TearOffProxy.cs
- SqlWriter.cs
- CodeGeneratorAttribute.cs
- ToolboxItemCollection.cs
- DatasetMethodGenerator.cs
- EditorZone.cs
- XmlNodeComparer.cs
- InvalidComObjectException.cs
- WindowsNonControl.cs
- PackageProperties.cs
- HttpEncoder.cs
- Message.cs
- QuaternionRotation3D.cs
- MenuBindingsEditorForm.cs
- SimpleFileLog.cs
- StringUtil.cs
- ArcSegment.cs
- PasswordRecovery.cs
- WindowsTab.cs
- ErasingStroke.cs
- ProfileGroupSettingsCollection.cs
- SoapIncludeAttribute.cs
- DBCommandBuilder.cs
- BufferedWebEventProvider.cs
- TypeDescriptionProvider.cs
- ViewSimplifier.cs
- SkinBuilder.cs
- SortKey.cs
- NGCSerializer.cs
- DbSource.cs
- ServiceOperationListItemList.cs
- ReaderOutput.cs
- SessionPageStatePersister.cs
- FontStyle.cs
- GroupBox.cs
- WebSysDefaultValueAttribute.cs
- EntityCollection.cs
- SafeIUnknown.cs
- TextBoxBase.cs
- ManifestSignatureInformation.cs
- CheckBox.cs
- DeferrableContentConverter.cs
- TableCellCollection.cs
- TextShapeableCharacters.cs
- UnmanagedMarshal.cs
- DefaultSection.cs
- Block.cs
- XmlQueryCardinality.cs
- XsltLoader.cs
- XPathArrayIterator.cs
- CollectionViewGroupRoot.cs
- VisualBasicExpressionConverter.cs
- GACIdentityPermission.cs
- XmlLanguage.cs
- Internal.cs
- XamlValidatingReader.cs
- MemoryResponseElement.cs
- PreviewKeyDownEventArgs.cs
- MimeFormatter.cs
- ScriptReferenceEventArgs.cs
- PieceNameHelper.cs
- XmlSerializerFactory.cs
- XmlSerializerFactory.cs
- StringResourceManager.cs
- SqlTriggerAttribute.cs
- DateTimeSerializationSection.cs
- DynamicHyperLink.cs
- ButtonBase.cs
- DataBinding.cs
- TypedElement.cs
- shaperfactoryquerycacheentry.cs
- IItemContainerGenerator.cs
- ServiceContractGenerationContext.cs
- DESCryptoServiceProvider.cs
- ConfigurationStrings.cs
- Line.cs
- XmlQueryStaticData.cs
- ConfigXmlComment.cs
- XamlToRtfParser.cs
- RSAPKCS1SignatureFormatter.cs
- QueryAccessibilityHelpEvent.cs
- CfgRule.cs
- DSACryptoServiceProvider.cs
- ApplicationServiceManager.cs
- ContractReference.cs
- DoubleLink.cs
- PrePostDescendentsWalker.cs
- SqlCharStream.cs
- ConfigurationValue.cs
- ObjectQueryState.cs
- XmlILStorageConverter.cs
- FieldAccessException.cs
- DataBoundControlHelper.cs
- LicenseException.cs