Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Common / AuthoringOM / Compiler / Validation / ActivityValidator.cs / 1305376 / ActivityValidator.cs
namespace System.Workflow.ComponentModel.Compiler { using System; using System.Reflection; using System.Workflow.ComponentModel.Design; #region Class ActivityValidator public class ActivityValidator : DependencyObjectValidator { public override ValidationErrorCollection Validate(ValidationManager manager, object obj) { if (manager == null) throw new ArgumentNullException("manager"); Activity activity = obj as Activity; if (activity == null) throw new ArgumentException(SR.GetString(SR.Error_UnexpectedArgumentType, typeof(Activity).FullName), "obj"); if (manager.Context == null) throw new ArgumentException("manager", SR.GetString(SR.Error_MissingContextProperty)); manager.Context.Push(activity); ValidationErrorCollection errors = new ValidationErrorCollection(); errors.AddRange(base.Validate(manager, obj)); if (activity.Parent == null) { errors.AddRange(ValidationHelpers.ValidateUniqueIdentifiers(activity)); if (activity.Enabled == false) { ValidationError error = new ValidationError(SR.GetString(SR.Error_RootIsNotEnabled), ErrorNumbers.Error_RootIsNotEnabled); error.PropertyName = "Enabled"; errors.Add(error); } } // validate ID property, only if it is not root activity Activity rootActivity = Helpers.GetRootActivity(activity); if (activity != rootActivity) { ValidationError identifierError = ValidationHelpers.ValidateNameProperty("Name", manager, activity.Name); if (identifierError != null) errors.Add(identifierError); } try { errors.AddRange(ValidateProperties(manager, obj)); } finally { System.Diagnostics.Debug.Assert(manager.Context.Current == activity, "Unwinding contextStack: the item that is about to be popped is not the one we pushed."); manager.Context.Pop(); } return errors; } } #endregion } // 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
- XsltSettings.cs
- StatusBar.cs
- CompilerLocalReference.cs
- HttpCapabilitiesBase.cs
- EntityCollectionChangedParams.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- DataContext.cs
- CertificateElement.cs
- BaseCodePageEncoding.cs
- TextDecorations.cs
- XmlElementCollection.cs
- CodeTypeMemberCollection.cs
- FileVersion.cs
- StaticSiteMapProvider.cs
- _NtlmClient.cs
- EventLogTraceListener.cs
- ListViewDeleteEventArgs.cs
- DataGridViewDataConnection.cs
- HttpModuleAction.cs
- TextRange.cs
- ProjectionPruner.cs
- HttpStreamXmlDictionaryReader.cs
- ProvideValueServiceProvider.cs
- CodeExpressionCollection.cs
- SqlTypesSchemaImporter.cs
- ExtentKey.cs
- HttpCookieCollection.cs
- XmlSerializerFactory.cs
- LogExtent.cs
- WindowsFormsEditorServiceHelper.cs
- CookieProtection.cs
- CryptographicAttribute.cs
- SerializationBinder.cs
- UidManager.cs
- ColumnResizeAdorner.cs
- QuarticEase.cs
- MenuAutomationPeer.cs
- TypeConverter.cs
- EntityContainerRelationshipSet.cs
- StylusButtonEventArgs.cs
- UrlMappingsModule.cs
- Facet.cs
- ProviderIncompatibleException.cs
- DnsPermission.cs
- HttpCacheParams.cs
- AppliesToBehaviorDecisionTable.cs
- PasswordBox.cs
- TabPanel.cs
- XPathBinder.cs
- Int32Storage.cs
- TransformerConfigurationWizardBase.cs
- KeyboardNavigation.cs
- FollowerQueueCreator.cs
- SqlRecordBuffer.cs
- TextEffect.cs
- StringFunctions.cs
- UpWmlPageAdapter.cs
- HandledEventArgs.cs
- WindowsTitleBar.cs
- TextMetrics.cs
- GuidelineSet.cs
- ProviderBase.cs
- IDataContractSurrogate.cs
- StyleCollection.cs
- TouchesCapturedWithinProperty.cs
- Convert.cs
- HostedImpersonationContext.cs
- KoreanCalendar.cs
- XmlSerializerFactory.cs
- CodeTryCatchFinallyStatement.cs
- DBNull.cs
- ProfileManager.cs
- PersonalizationEntry.cs
- DataSvcMapFile.cs
- Composition.cs
- UnconditionalPolicy.cs
- DoubleIndependentAnimationStorage.cs
- CombinedGeometry.cs
- XdrBuilder.cs
- DbConnectionStringCommon.cs
- AssemblyCollection.cs
- WindowClosedEventArgs.cs
- CheckBoxStandardAdapter.cs
- ConfigXmlWhitespace.cs
- ProcessProtocolHandler.cs
- Thumb.cs
- TablePattern.cs
- XhtmlBasicFormAdapter.cs
- IIS7WorkerRequest.cs
- Blend.cs
- Pkcs7Signer.cs
- StoragePropertyMapping.cs
- SpeechSynthesizer.cs
- BitStack.cs
- SecurityRuntime.cs
- WebPartEventArgs.cs
- SequentialUshortCollection.cs
- Rijndael.cs
- Behavior.cs
- EdmTypeAttribute.cs