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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DNS.cs
- PerformanceCounter.cs
- RemotingHelper.cs
- WebExceptionStatus.cs
- EditingMode.cs
- Evaluator.cs
- TreeIterators.cs
- DataGridViewCellStateChangedEventArgs.cs
- ListItemConverter.cs
- ControlAdapter.cs
- Polyline.cs
- MergeLocalizationDirectives.cs
- TextEditorTyping.cs
- CatalogZoneBase.cs
- Parser.cs
- ViewService.cs
- WindowsListViewSubItem.cs
- OleDbPropertySetGuid.cs
- precedingquery.cs
- ExpressionNode.cs
- glyphs.cs
- IOThreadTimer.cs
- CalendarDesigner.cs
- CorrelationTokenTypeConvertor.cs
- TreeWalkHelper.cs
- XmlSchemaExternal.cs
- AdapterDictionary.cs
- EntityContainerEntitySet.cs
- SHA512Cng.cs
- CodeAttributeDeclarationCollection.cs
- CommandField.cs
- DbConnectionPoolIdentity.cs
- CodeComment.cs
- XsltSettings.cs
- FlowDocument.cs
- ExtractorMetadata.cs
- WebPartEditVerb.cs
- WebPartEditorCancelVerb.cs
- TypeDelegator.cs
- ValidationHelper.cs
- MonthChangedEventArgs.cs
- ContractMapping.cs
- SqlUserDefinedTypeAttribute.cs
- BaseUriHelper.cs
- Comparer.cs
- FrameworkContentElement.cs
- ConfigurationManagerInternalFactory.cs
- ThreadStateException.cs
- CellPartitioner.cs
- ScrollProviderWrapper.cs
- PartialCachingControl.cs
- SqlUtils.cs
- Vector.cs
- TransactionManager.cs
- Int16KeyFrameCollection.cs
- ColumnMapProcessor.cs
- DataContractSerializerSection.cs
- WindowsScrollBarBits.cs
- RegistryConfigurationProvider.cs
- PropertyEmitter.cs
- NameValuePermission.cs
- TouchFrameEventArgs.cs
- M3DUtil.cs
- Conditional.cs
- SizeAnimationBase.cs
- DbConnectionPool.cs
- InstallerTypeAttribute.cs
- RelOps.cs
- PersonalizablePropertyEntry.cs
- DropShadowEffect.cs
- ActivityTypeDesigner.xaml.cs
- ExpandedProjectionNode.cs
- RefreshEventArgs.cs
- Selector.cs
- WebProxyScriptElement.cs
- FlowNode.cs
- Debugger.cs
- ConsumerConnectionPointCollection.cs
- _NestedMultipleAsyncResult.cs
- KerberosReceiverSecurityToken.cs
- ProfileService.cs
- WebPartMenu.cs
- LinearGradientBrush.cs
- AssociationTypeEmitter.cs
- DbProviderFactories.cs
- ParameterCollection.cs
- Deserializer.cs
- BindStream.cs
- ObjectParameter.cs
- FacetValues.cs
- DataStorage.cs
- ResXFileRef.cs
- While.cs
- TrackingWorkflowEventArgs.cs
- RegexNode.cs
- ToolStripRenderEventArgs.cs
- BitmapPalettes.cs
- XmlSchemaIdentityConstraint.cs
- XmlAttributeAttribute.cs
- ResourceReader.cs