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
- DefaultObjectMappingItemCollection.cs
- ParameterModifier.cs
- InternalTypeHelper.cs
- Control.cs
- MiniModule.cs
- DATA_BLOB.cs
- PreservationFileReader.cs
- LineInfo.cs
- LinkTarget.cs
- FunctionDefinition.cs
- TimerEventSubscriptionCollection.cs
- TextPattern.cs
- ModelPerspective.cs
- DefaultBindingPropertyAttribute.cs
- ToolStripItemTextRenderEventArgs.cs
- WebBrowser.cs
- NotConverter.cs
- SqlOuterApplyReducer.cs
- LambdaSerializationException.cs
- QilScopedVisitor.cs
- TextParaClient.cs
- PhonemeEventArgs.cs
- CopyEncoder.cs
- X509IssuerSerialKeyIdentifierClause.cs
- GrammarBuilderBase.cs
- ArgumentsParser.cs
- DBSqlParserColumn.cs
- RightsManagementEncryptedStream.cs
- WebPartConnectVerb.cs
- WindowPattern.cs
- ExpressionSelection.cs
- FixedSOMFixedBlock.cs
- BufferedMessageWriter.cs
- WebPartDisplayMode.cs
- MDIWindowDialog.cs
- JsonEncodingStreamWrapper.cs
- ConfigXmlComment.cs
- RedirectionProxy.cs
- hresults.cs
- InitializationEventAttribute.cs
- SystemTcpConnection.cs
- PeerObject.cs
- ReceiveActivity.cs
- IInstanceTable.cs
- SafeRightsManagementSessionHandle.cs
- ConnectionManagementElement.cs
- ExpressionBuilder.cs
- ExecutorLocksHeldException.cs
- PropertyDescriptor.cs
- ListBox.cs
- HeaderCollection.cs
- PartitionResolver.cs
- ResourceWriter.cs
- Misc.cs
- PeerName.cs
- ImportCatalogPart.cs
- StatusBarItemAutomationPeer.cs
- Track.cs
- HtmlInputPassword.cs
- TraceUtility.cs
- EventLogPermissionEntryCollection.cs
- WebPartDisplayModeCollection.cs
- SafeNativeMethods.cs
- MSHTMLHost.cs
- IEnumerable.cs
- TemplateXamlParser.cs
- SqlWebEventProvider.cs
- RelOps.cs
- XmlLoader.cs
- MSAANativeProvider.cs
- ParameterElement.cs
- PartialArray.cs
- LayoutDump.cs
- ConfigurationFileMap.cs
- MonthCalendarDesigner.cs
- PageCache.cs
- FixedSOMSemanticBox.cs
- MiniParameterInfo.cs
- RemoteWebConfigurationHostStream.cs
- TypeUtil.cs
- SelectedGridItemChangedEvent.cs
- ImageSourceConverter.cs
- IIS7WorkerRequest.cs
- PaginationProgressEventArgs.cs
- SqlConnectionPoolProviderInfo.cs
- CodeCompiler.cs
- DecimalFormatter.cs
- HoistedLocals.cs
- Geometry.cs
- StorageMappingItemLoader.cs
- ReachDocumentSequenceSerializer.cs
- SrgsToken.cs
- Terminate.cs
- TableLayoutCellPaintEventArgs.cs
- WithParamAction.cs
- RelationshipEndCollection.cs
- SecurityHeaderLayout.cs
- BamlTreeUpdater.cs
- PersonalizablePropertyEntry.cs
- XamlBuildProvider.cs