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
- GetFileNameResult.cs
- ServicesUtilities.cs
- PolicyException.cs
- StyleCollectionEditor.cs
- CompilerError.cs
- SQLCharsStorage.cs
- SigningCredentials.cs
- TextBoxRenderer.cs
- ListViewUpdatedEventArgs.cs
- DescendantOverDescendantQuery.cs
- ObjectStateEntryOriginalDbUpdatableDataRecord.cs
- SupportingTokenListenerFactory.cs
- GregorianCalendarHelper.cs
- SqlNodeTypeOperators.cs
- MonthChangedEventArgs.cs
- ResetableIterator.cs
- WebServicesInteroperability.cs
- UnitySerializationHolder.cs
- UdpDuplexChannel.cs
- ComponentDispatcher.cs
- SendAgentStatusRequest.cs
- CellPartitioner.cs
- CachedCompositeFamily.cs
- EncoderBestFitFallback.cs
- BaseCodePageEncoding.cs
- DoWorkEventArgs.cs
- IconHelper.cs
- ComboBox.cs
- ComPlusContractBehavior.cs
- SubMenuStyleCollection.cs
- MultilineStringConverter.cs
- DrawingContextDrawingContextWalker.cs
- XmlToDatasetMap.cs
- EnlistmentState.cs
- ReliableDuplexSessionChannel.cs
- TerminateSequence.cs
- ArgumentNullException.cs
- Int16Storage.cs
- DBAsyncResult.cs
- WindowsAuthenticationEventArgs.cs
- ConfigurationHandlersInstallComponent.cs
- TextSpanModifier.cs
- IOException.cs
- SchemaEntity.cs
- StateFinalizationActivity.cs
- SystemResourceHost.cs
- EndpointDesigner.cs
- XamlReader.cs
- ComplexBindingPropertiesAttribute.cs
- FeatureSupport.cs
- NotifyParentPropertyAttribute.cs
- SystemInfo.cs
- DrawingBrush.cs
- Container.cs
- ObjectContext.cs
- AttachedAnnotationChangedEventArgs.cs
- FlowDocument.cs
- BindingEntityInfo.cs
- EasingKeyFrames.cs
- SharedPerformanceCounter.cs
- mongolianshape.cs
- _HelperAsyncResults.cs
- CollectionEditVerbManager.cs
- WebBrowserProgressChangedEventHandler.cs
- XmlEncApr2001.cs
- oledbmetadatacolumnnames.cs
- VerticalAlignConverter.cs
- ForeignConstraint.cs
- EventNotify.cs
- XmlException.cs
- EditorZone.cs
- ArrowControl.xaml.cs
- GeneralTransform3DGroup.cs
- RawUIStateInputReport.cs
- XmlName.cs
- DataContext.cs
- TreeViewTemplateSelector.cs
- PasswordBox.cs
- WebPartEditVerb.cs
- Exceptions.cs
- TreeViewItemAutomationPeer.cs
- AuthenticationConfig.cs
- SerializationFieldInfo.cs
- WrappedIUnknown.cs
- HandlerBase.cs
- EncoderReplacementFallback.cs
- SoapExtension.cs
- StringArrayConverter.cs
- returneventsaver.cs
- EpmAttributeNameBuilder.cs
- FontDriver.cs
- SectionUpdates.cs
- Vector3dCollection.cs
- StyleReferenceConverter.cs
- PropertyFilter.cs
- QilInvokeLateBound.cs
- LocationSectionRecord.cs
- CodeArrayCreateExpression.cs
- BitVector32.cs
- HiddenField.cs