Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Activities / EventDriven.cs / 1305376 / EventDriven.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.Collections.ObjectModel; using System.Workflow.Activities.Common; #endregion [SRDescription(SR.EventDrivenActivityDescription)] [Designer(typeof(EventDrivenDesigner), typeof(IDesigner))] [ToolboxItem(typeof(ActivityToolboxItem))] [ToolboxBitmap(typeof(EventDrivenActivity), "Resources.EventDriven.png")] [ActivityValidator(typeof(EventDrivenValidator))] [SRCategory(SR.Standard)] public sealed class EventDrivenActivity : SequenceActivity { public EventDrivenActivity() { } public EventDrivenActivity(string name) : base(name) { } [Browsable(false)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public IEventActivity EventActivity { get { ReadOnlyCollectionenabledActivities = this.EnabledActivities; if (enabledActivities.Count == 0) return null; else return enabledActivities[0] as IEventActivity; } } } internal sealed class EventDrivenValidator : CompositeActivityValidator { public override ValidationErrorCollection Validate(ValidationManager manager, object obj) { ValidationErrorCollection validationErrors = base.Validate(manager, obj); EventDrivenActivity eventDriven = obj as EventDrivenActivity; if (eventDriven == null) throw new ArgumentException(SR.GetString(SR.Error_UnexpectedArgumentType, typeof(EventDrivenActivity).FullName), "obj"); // check parent if (!(eventDriven.Parent is ListenActivity) && !(eventDriven.Parent is EventHandlersActivity) && !(eventDriven.Parent is StateActivity) ) validationErrors.Add(new ValidationError(SR.GetError_EventDrivenParentNotListen(), ErrorNumbers.Error_EventDrivenParentNotListen)); // validate Event property string message = string.Empty; int errorNumber = -1; Activity firstActivity = (eventDriven.EnabledActivities.Count > 0) ? eventDriven.EnabledActivities[0] : null; if (firstActivity == null) { message = SR.GetString(SR.Error_EventDrivenNoFirstActivity); errorNumber = ErrorNumbers.Error_EventDrivenNoFirstActivity; } else if (!(firstActivity is IEventActivity)) { message = SR.GetError_EventDrivenInvalidFirstActivity(); errorNumber = ErrorNumbers.Error_EventDrivenInvalidFirstActivity; } if (message.Length > 0) validationErrors.Add(new ValidationError(message, errorNumber)); return validationErrors; } public override ValidationError ValidateActivityChange(Activity activity, ActivityChangeAction action) { if (activity == null) throw new ArgumentNullException("activity"); if (action == null) throw new ArgumentNullException("action"); RemovedActivityAction removedAction = action as RemovedActivityAction; if (removedAction != null && removedAction.RemovedActivityIndex == 0) { return new ValidationError(SR.GetString(SR.Error_EventActivityIsImmutable), ErrorNumbers.Error_DynamicActivity, false); } else { AddedActivityAction addedAction = action as AddedActivityAction; if (addedAction != null && addedAction.Index == 0) return new ValidationError(SR.GetString(SR.Error_EventActivityIsImmutable), ErrorNumbers.Error_DynamicActivity, false); } return base.ValidateActivityChange(activity, action); } } } // 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
- ListViewUpdateEventArgs.cs
- ContextMarshalException.cs
- Error.cs
- WebPartDeleteVerb.cs
- Tool.cs
- _NegoState.cs
- WizardDesigner.cs
- DataTableMapping.cs
- RoleManagerModule.cs
- ApplicationServiceManager.cs
- VisualTreeUtils.cs
- TeredoHelper.cs
- SqlMethods.cs
- CodeStatement.cs
- WebHttpSecurity.cs
- ResourceReader.cs
- PropertyDescriptorCollection.cs
- ColorConvertedBitmap.cs
- TypeDescriptorFilterService.cs
- ScriptIgnoreAttribute.cs
- versioninfo.cs
- ClockController.cs
- recordstate.cs
- CodeCatchClauseCollection.cs
- Emitter.cs
- Font.cs
- Compiler.cs
- DataRelation.cs
- OperationResponse.cs
- BaseInfoTable.cs
- ArrayTypeMismatchException.cs
- MultiBinding.cs
- TextBoxRenderer.cs
- WebPartsSection.cs
- MailWebEventProvider.cs
- DataGridViewSelectedRowCollection.cs
- MdiWindowListItemConverter.cs
- NativeMethodsOther.cs
- SchemaObjectWriter.cs
- CompilationLock.cs
- ToolBar.cs
- AnimationLayer.cs
- Vector3DCollectionConverter.cs
- autovalidator.cs
- ComponentSerializationService.cs
- Literal.cs
- BinHexEncoder.cs
- GridViewDesigner.cs
- DataSourceControl.cs
- InvokePatternIdentifiers.cs
- UnsafePeerToPeerMethods.cs
- LayoutSettings.cs
- SchemaCollectionPreprocessor.cs
- NavigationProgressEventArgs.cs
- StrokeNode.cs
- CurrentTimeZone.cs
- ScopeCollection.cs
- BaseTemplateParser.cs
- FrameDimension.cs
- DrawingCollection.cs
- IsolatedStorageFile.cs
- AccessDataSourceView.cs
- ReversePositionQuery.cs
- NonBatchDirectoryCompiler.cs
- SqlRowUpdatingEvent.cs
- TextRangeEditLists.cs
- XslTransform.cs
- ProcessInputEventArgs.cs
- TextTreeObjectNode.cs
- ThrowHelper.cs
- DCSafeHandle.cs
- SizeConverter.cs
- WebControl.cs
- DbConnectionPoolCounters.cs
- SByte.cs
- TouchDevice.cs
- _ConnectionGroup.cs
- ListCollectionView.cs
- ManipulationVelocities.cs
- XNodeSchemaApplier.cs
- DataGridView.cs
- MaterialGroup.cs
- CatalogPartChrome.cs
- DbTransaction.cs
- ScriptResourceAttribute.cs
- SelectQueryOperator.cs
- TransformGroup.cs
- MarshalByRefObject.cs
- DiscriminatorMap.cs
- ContentFilePart.cs
- TextElement.cs
- TCEAdapterGenerator.cs
- BrowserDefinitionCollection.cs
- XmlDeclaration.cs
- AssemblyAttributes.cs
- MulticastIPAddressInformationCollection.cs
- XmlDomTextWriter.cs
- DesignTimeValidationFeature.cs
- InputProcessorProfiles.cs
- PriorityBinding.cs