Code:
/ 4.0 / 4.0 / 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. 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 { ReadOnlyCollection enabledActivities = 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
- WeakEventTable.cs
- __FastResourceComparer.cs
- SystemIcmpV4Statistics.cs
- ToolZone.cs
- ProbeMatchesMessage11.cs
- ServiceReference.cs
- _SslState.cs
- ApplicationSettingsBase.cs
- StyleConverter.cs
- HttpCacheVaryByContentEncodings.cs
- ConnectionPoint.cs
- RowToFieldTransformer.cs
- RegexWorker.cs
- EditorZone.cs
- RangeValueProviderWrapper.cs
- HttpCookie.cs
- COM2Properties.cs
- _SslStream.cs
- ImageBrush.cs
- Point3DValueSerializer.cs
- XsdBuilder.cs
- AttributeData.cs
- RecommendedAsConfigurableAttribute.cs
- SoapTypeAttribute.cs
- ItemCollection.cs
- Expander.cs
- X509Certificate.cs
- HeaderCollection.cs
- Package.cs
- WindowsStatic.cs
- BindingObserver.cs
- SQLByte.cs
- SID.cs
- WorkflowOwnerAsyncResult.cs
- EncoderReplacementFallback.cs
- Style.cs
- TextBounds.cs
- ClientConfigurationSystem.cs
- GeneralTransform3D.cs
- DataGridSortCommandEventArgs.cs
- NameSpaceEvent.cs
- RotateTransform.cs
- AttachedPropertyBrowsableAttribute.cs
- DoubleAnimationClockResource.cs
- CharUnicodeInfo.cs
- ReadOnlyHierarchicalDataSource.cs
- ColorTransform.cs
- CapiSafeHandles.cs
- UInt16.cs
- XmlNamespaceDeclarationsAttribute.cs
- HttpHandlerAction.cs
- RecognizeCompletedEventArgs.cs
- SamlAuthorizationDecisionStatement.cs
- TimelineGroup.cs
- GridViewColumnCollectionChangedEventArgs.cs
- DataListItemEventArgs.cs
- VirtualDirectoryMappingCollection.cs
- TableCellAutomationPeer.cs
- EventlogProvider.cs
- DocumentPageTextView.cs
- EventProperty.cs
- SQLRoleProvider.cs
- TextTreeFixupNode.cs
- LayoutEvent.cs
- DoubleStorage.cs
- PolyBezierSegment.cs
- SubtreeProcessor.cs
- DiscoveryDocumentSearchPattern.cs
- RemoteWebConfigurationHostStream.cs
- GlobalEventManager.cs
- COM2TypeInfoProcessor.cs
- CompilerResults.cs
- IndexedGlyphRun.cs
- FaultBookmark.cs
- Partitioner.cs
- LinearQuaternionKeyFrame.cs
- ButtonBase.cs
- MulticastOption.cs
- ExpressionSelection.cs
- Int64Storage.cs
- SqlTypeConverter.cs
- AttributeAction.cs
- ConstraintEnumerator.cs
- CustomError.cs
- ComponentChangedEvent.cs
- KeyGestureConverter.cs
- Symbol.cs
- Matrix3D.cs
- Model3D.cs
- CodeAssignStatement.cs
- WindowsFormsHelpers.cs
- SessionViewState.cs
- DtcInterfaces.cs
- FixUpCollection.cs
- BindingExpression.cs
- WindowPatternIdentifiers.cs
- TaskFormBase.cs
- COM2FontConverter.cs
- SeverityFilter.cs
- MatrixTransform3D.cs