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
- DeadLetterQueue.cs
- VScrollProperties.cs
- PropertyExpression.cs
- HandleRef.cs
- File.cs
- ZipIOExtraFieldZip64Element.cs
- SimpleBitVector32.cs
- glyphs.cs
- EntityViewContainer.cs
- DescendentsWalker.cs
- DivideByZeroException.cs
- DoubleLinkListEnumerator.cs
- URL.cs
- InheritedPropertyDescriptor.cs
- unsafenativemethodstextservices.cs
- LoadRetryConstantStrategy.cs
- WindowsToolbarAsMenu.cs
- DbConnectionPool.cs
- View.cs
- IdentityReference.cs
- ConfigurationCollectionAttribute.cs
- WindowsStartMenu.cs
- ObjectResult.cs
- CancelRequestedRecord.cs
- ZipIORawDataFileBlock.cs
- RadioButton.cs
- AdvancedBindingEditor.cs
- XmlChildEnumerator.cs
- GuidelineSet.cs
- MembershipAdapter.cs
- KeyboardNavigation.cs
- XmlArrayItemAttributes.cs
- entitydatasourceentitysetnameconverter.cs
- DataGridViewRowEventArgs.cs
- objectquery_tresulttype.cs
- ToolStripCollectionEditor.cs
- HighlightOverlayGlyph.cs
- XslAst.cs
- SqlServer2KCompatibilityAnnotation.cs
- MultiDataTrigger.cs
- RemoteWebConfigurationHostStream.cs
- XmlUtilWriter.cs
- __ConsoleStream.cs
- QueryTaskGroupState.cs
- Rijndael.cs
- CalendarAutoFormatDialog.cs
- VerificationAttribute.cs
- sortedlist.cs
- SQLInt32.cs
- SignatureHelper.cs
- ListViewCommandEventArgs.cs
- SqlAliasesReferenced.cs
- PropVariant.cs
- MarkupCompiler.cs
- WebPartRestoreVerb.cs
- Queue.cs
- ItemDragEvent.cs
- RegexMatchCollection.cs
- AssemblyInfo.cs
- MemberHolder.cs
- PointCollection.cs
- WinFormsSecurity.cs
- DrawingContext.cs
- RadioButton.cs
- IisTraceWebEventProvider.cs
- TrailingSpaceComparer.cs
- LeaseManager.cs
- DocumentPage.cs
- XmlSchemaSimpleContentRestriction.cs
- ProfilePropertyMetadata.cs
- DisplayClaim.cs
- AssemblyCache.cs
- LayoutUtils.cs
- SapiGrammar.cs
- PageCanvasSize.cs
- Paragraph.cs
- CodeDefaultValueExpression.cs
- GZipStream.cs
- HttpContext.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- PaperSource.cs
- X509CertificateCollection.cs
- SqlServer2KCompatibilityCheck.cs
- DataGridViewRowPostPaintEventArgs.cs
- ToolboxComponentsCreatedEventArgs.cs
- FormsAuthenticationUserCollection.cs
- FixedSchema.cs
- StringResourceManager.cs
- ExpandableObjectConverter.cs
- PathSegment.cs
- ISAPIApplicationHost.cs
- NegationPusher.cs
- PageThemeBuildProvider.cs
- ConfigXmlText.cs
- Cursors.cs
- _AutoWebProxyScriptEngine.cs
- Walker.cs
- AppDomainAttributes.cs
- BinaryNode.cs
- ProtectedProviderSettings.cs