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
- TraceEventCache.cs
- WinFormsSpinner.cs
- WebColorConverter.cs
- SByteConverter.cs
- VectorCollection.cs
- FontStretchConverter.cs
- MobileResource.cs
- CryptoApi.cs
- HtmlTernaryTree.cs
- Attachment.cs
- BinarySerializer.cs
- ShellProvider.cs
- TimeEnumHelper.cs
- DocumentGridContextMenu.cs
- ReachObjectContext.cs
- IImplicitResourceProvider.cs
- DependencyPropertyConverter.cs
- DeviceFilterDictionary.cs
- Inflater.cs
- ComboBoxItem.cs
- RadialGradientBrush.cs
- Errors.cs
- BatchStream.cs
- CultureInfoConverter.cs
- CommandEventArgs.cs
- OutputScopeManager.cs
- Emitter.cs
- XmlSchemaGroup.cs
- _IPv4Address.cs
- WinFormsSpinner.cs
- FontUnit.cs
- MsmqAppDomainProtocolHandler.cs
- Boolean.cs
- ContextMenuStripGroupCollection.cs
- JsonReader.cs
- NestedContainer.cs
- ConsoleTraceListener.cs
- WindowsAuthenticationEventArgs.cs
- TemplatePagerField.cs
- WebPartEditorCancelVerb.cs
- SrgsGrammarCompiler.cs
- SimpleTypeResolver.cs
- CodeCatchClauseCollection.cs
- SQlBooleanStorage.cs
- followingsibling.cs
- InputLanguageSource.cs
- Parameter.cs
- X509Extension.cs
- AtlasWeb.Designer.cs
- ResourcePermissionBaseEntry.cs
- WebPartEditorCancelVerb.cs
- TakeOrSkipWhileQueryOperator.cs
- connectionpool.cs
- Triplet.cs
- DecoderBestFitFallback.cs
- Point3D.cs
- Token.cs
- ArrayTypeMismatchException.cs
- OleDbParameter.cs
- HtmlGenericControl.cs
- X509Utils.cs
- TreeBuilder.cs
- CharAnimationUsingKeyFrames.cs
- EdgeModeValidation.cs
- EntitySet.cs
- XmlAttributes.cs
- PropertyMappingExceptionEventArgs.cs
- ListViewContainer.cs
- StylusSystemGestureEventArgs.cs
- RegexGroup.cs
- XmlTypeAttribute.cs
- MulticastNotSupportedException.cs
- PermissionListSet.cs
- WindowsGraphics2.cs
- ClientTargetCollection.cs
- ConstraintConverter.cs
- CodeTypeReference.cs
- TemplateInstanceAttribute.cs
- ListParagraph.cs
- EditorPartChrome.cs
- DeploymentSectionCache.cs
- MSAAWinEventWrap.cs
- OperationAbortedException.cs
- SimpleWebHandlerParser.cs
- UIPropertyMetadata.cs
- Vector3DConverter.cs
- DataObjectMethodAttribute.cs
- HMACSHA1.cs
- XmlNodeComparer.cs
- PhysicalOps.cs
- ToolStripSettings.cs
- BrowsableAttribute.cs
- MsiStyleLogWriter.cs
- QueueTransferProtocol.cs
- CompositeKey.cs
- DataGridViewHeaderCell.cs
- ProtocolsSection.cs
- TextTreeExtractElementUndoUnit.cs
- MeasureData.cs
- RTLAwareMessageBox.cs