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
- ReferencedCollectionType.cs
- HMAC.cs
- TCPClient.cs
- RtType.cs
- CodeNamespaceImportCollection.cs
- DefinitionUpdate.cs
- TransformationRules.cs
- DataGridRelationshipRow.cs
- SqlUserDefinedTypeAttribute.cs
- ExpressionPrefixAttribute.cs
- Point3DCollectionValueSerializer.cs
- SoapSchemaExporter.cs
- PageHandlerFactory.cs
- HttpConfigurationContext.cs
- AsyncOperation.cs
- ListenerElementsCollection.cs
- DockPanel.cs
- datacache.cs
- XmlUTF8TextWriter.cs
- SerialReceived.cs
- InputReportEventArgs.cs
- ReadOnlyObservableCollection.cs
- ValidatorUtils.cs
- PointAnimation.cs
- BehaviorEditorPart.cs
- DataSourceControl.cs
- SafeNativeMethods.cs
- _DomainName.cs
- RawKeyboardInputReport.cs
- XmlNodeReader.cs
- EmbossBitmapEffect.cs
- PersonalizationProvider.cs
- FileInfo.cs
- ToolBar.cs
- ParallelForEach.cs
- NavigateEvent.cs
- XmlSchemaObjectTable.cs
- _CacheStreams.cs
- DataSourceProvider.cs
- DataGridViewButtonColumn.cs
- ExpandableObjectConverter.cs
- ObjectDataSourceMethodEventArgs.cs
- Vertex.cs
- CapabilitiesSection.cs
- XmlSchemaSimpleContentExtension.cs
- DataRelation.cs
- WpfWebRequestHelper.cs
- CompilerCollection.cs
- EventLogPermission.cs
- exports.cs
- DataGridViewMethods.cs
- TimeSpanStorage.cs
- WebPartMenu.cs
- HttpRequest.cs
- FilterQuery.cs
- PointF.cs
- PolyQuadraticBezierSegment.cs
- TaiwanLunisolarCalendar.cs
- ProgressBarAutomationPeer.cs
- RectangleHotSpot.cs
- ConstructorExpr.cs
- _ConnectOverlappedAsyncResult.cs
- HttpCachePolicyWrapper.cs
- SqlXml.cs
- AnnotationResource.cs
- InvariantComparer.cs
- ChannelParameterCollection.cs
- WindowsScrollBarBits.cs
- ControlParameter.cs
- ColorDialog.cs
- OrderedDictionaryStateHelper.cs
- CuspData.cs
- ListViewGroupConverter.cs
- WrappedReader.cs
- Pair.cs
- PassportAuthenticationEventArgs.cs
- Rijndael.cs
- DataObjectMethodAttribute.cs
- SqlDataSourceView.cs
- XmlSchemaExporter.cs
- wmiprovider.cs
- SiteMapHierarchicalDataSourceView.cs
- GiveFeedbackEvent.cs
- StorageComplexPropertyMapping.cs
- SpeechRecognitionEngine.cs
- CodeTypeParameter.cs
- WebDisplayNameAttribute.cs
- ColorTranslator.cs
- TreeNode.cs
- SqlTransaction.cs
- ToolStripStatusLabel.cs
- Matrix.cs
- TypeSystemProvider.cs
- ExtensionDataObject.cs
- Icon.cs
- CreateDataSourceDialog.cs
- TextRangeEdit.cs
- GridToolTip.cs
- Msec.cs
- QilSortKey.cs