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
- DataServiceStreamResponse.cs
- ChameleonKey.cs
- XmlDocumentFragment.cs
- ChildTable.cs
- GlyphingCache.cs
- ViewGenResults.cs
- formatter.cs
- PropertyPushdownHelper.cs
- CommonGetThemePartSize.cs
- PermissionSet.cs
- DiagnosticsConfigurationHandler.cs
- WebPartConnection.cs
- ToggleButton.cs
- ConnectionPointGlyph.cs
- Run.cs
- ToolStripScrollButton.cs
- CellQuery.cs
- DispatcherHookEventArgs.cs
- IndentedWriter.cs
- InstanceDataCollectionCollection.cs
- SrgsItemList.cs
- ByteStream.cs
- MetadataItemCollectionFactory.cs
- ToolStripGripRenderEventArgs.cs
- UInt64Storage.cs
- TypeConstant.cs
- CodeSubDirectoriesCollection.cs
- XmlQueryStaticData.cs
- IndexOutOfRangeException.cs
- ZipFileInfoCollection.cs
- ExpressionNode.cs
- CodePageUtils.cs
- XmlSchemaInclude.cs
- OracleInfoMessageEventArgs.cs
- FilterElement.cs
- DetailsViewRow.cs
- TextSchema.cs
- AdRotator.cs
- ZipIOExtraFieldElement.cs
- FirstMatchCodeGroup.cs
- BamlResourceSerializer.cs
- SafeRightsManagementEnvironmentHandle.cs
- TypeDescriptionProviderAttribute.cs
- SqlBulkCopyColumnMapping.cs
- ByteStreamMessageEncodingElement.cs
- SchemaTypeEmitter.cs
- IISUnsafeMethods.cs
- SafePEFileHandle.cs
- SystemEvents.cs
- ExpandoClass.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- XmlQueryContext.cs
- AccessDataSource.cs
- AutomationProperty.cs
- XPathParser.cs
- FontDialog.cs
- OutputWindow.cs
- CacheDict.cs
- SqlServer2KCompatibilityCheck.cs
- SerializationStore.cs
- SecurityState.cs
- CustomExpression.cs
- smtppermission.cs
- DependencyPropertyChangedEventArgs.cs
- BooleanToVisibilityConverter.cs
- BevelBitmapEffect.cs
- Point3DCollection.cs
- Int32CollectionValueSerializer.cs
- ToolStripSeparatorRenderEventArgs.cs
- HotSpot.cs
- XomlDesignerLoader.cs
- SchemaHelper.cs
- HtmlSelect.cs
- GridViewColumn.cs
- AppDomainProtocolHandler.cs
- ConnectionProviderAttribute.cs
- DbSourceCommand.cs
- RectAnimationClockResource.cs
- WizardForm.cs
- ImageAttributes.cs
- HttpHandlerActionCollection.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- ModelItemKeyValuePair.cs
- RectangleF.cs
- LogicalTreeHelper.cs
- TextMetrics.cs
- ContextMenuStrip.cs
- _Connection.cs
- XmlIgnoreAttribute.cs
- DataSvcMapFile.cs
- ScrollBarRenderer.cs
- LayoutUtils.cs
- FixedNode.cs
- ToolboxBitmapAttribute.cs
- CodePropertyReferenceExpression.cs
- XhtmlTextWriter.cs
- TextTreeNode.cs
- UpdateTranslator.cs
- PingOptions.cs
- XamlSerializerUtil.cs