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
- SoapSchemaImporter.cs
- PlatformCulture.cs
- XmlTextWriter.cs
- ToolStripPanelSelectionBehavior.cs
- DataSourceConverter.cs
- CurrencyWrapper.cs
- GridViewUpdatedEventArgs.cs
- EncryptRequest.cs
- EntityDataSourceWrapperCollection.cs
- DecimalAnimationUsingKeyFrames.cs
- ThemeDirectoryCompiler.cs
- ZipFileInfoCollection.cs
- PerformanceCounter.cs
- NativeWrapper.cs
- FacetChecker.cs
- BitmapImage.cs
- SoapRpcMethodAttribute.cs
- Propagator.JoinPropagator.JoinPredicateVisitor.cs
- CodeThrowExceptionStatement.cs
- FocusTracker.cs
- ProcessHostMapPath.cs
- HelpKeywordAttribute.cs
- DeflateEmulationStream.cs
- TextBoxAutoCompleteSourceConverter.cs
- CaseStatementProjectedSlot.cs
- ProfileParameter.cs
- DataBindingExpressionBuilder.cs
- LinqDataSourceValidationException.cs
- CompensatableTransactionScopeActivityDesigner.cs
- XslTransformFileEditor.cs
- DecimalAnimation.cs
- XmlILStorageConverter.cs
- TypeUtil.cs
- HtmlPhoneCallAdapter.cs
- DSASignatureFormatter.cs
- PropertyChangedEventArgs.cs
- GeneralTransformCollection.cs
- MappableObjectManager.cs
- X509CertificateClaimSet.cs
- TimeSpanStorage.cs
- FileDialog.cs
- ReaderWriterLockWrapper.cs
- RelationshipDetailsRow.cs
- LinkTarget.cs
- CompiledXpathExpr.cs
- ComPlusTraceRecord.cs
- TransactionManager.cs
- SubtreeProcessor.cs
- WorkflowApplicationUnhandledExceptionEventArgs.cs
- DeploymentSection.cs
- datacache.cs
- PolyBezierSegmentFigureLogic.cs
- DataTableClearEvent.cs
- ProgressBar.cs
- DispatcherObject.cs
- CalculatedColumn.cs
- OpenTypeMethods.cs
- ToolStripItemImageRenderEventArgs.cs
- CodeDirectoryCompiler.cs
- dbenumerator.cs
- IpcChannel.cs
- EntityDataSourceDataSelectionPanel.cs
- OdbcReferenceCollection.cs
- WindowsFormsHostPropertyMap.cs
- SqlNode.cs
- FileStream.cs
- GatewayDefinition.cs
- ProcessHostConfigUtils.cs
- Activator.cs
- MdImport.cs
- IncomingWebResponseContext.cs
- Rect3DValueSerializer.cs
- Identifier.cs
- ParentQuery.cs
- DataBinding.cs
- ImageCodecInfo.cs
- SqlServer2KCompatibilityAnnotation.cs
- Memoizer.cs
- WebControlsSection.cs
- InvalidPropValue.cs
- WebBrowserDocumentCompletedEventHandler.cs
- DesignColumn.cs
- PointUtil.cs
- DataGridAutoGeneratingColumnEventArgs.cs
- ScriptResourceInfo.cs
- VectorCollectionValueSerializer.cs
- SafeEventLogWriteHandle.cs
- DrawingContextWalker.cs
- OutArgumentConverter.cs
- httpstaticobjectscollection.cs
- NetSectionGroup.cs
- ArraySortHelper.cs
- SecurityState.cs
- TemplateNodeContextMenu.cs
- IssuedTokenServiceElement.cs
- WpfXamlLoader.cs
- MultiAsyncResult.cs
- TriggerActionCollection.cs
- ParentQuery.cs
- XPathScanner.cs