Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ApplicationDirectoryMembershipCondition.cs
- TextBox.cs
- httpapplicationstate.cs
- DefaultValueAttribute.cs
- TextAdaptor.cs
- ValueSerializerAttribute.cs
- InvalidComObjectException.cs
- XmlSchemaDocumentation.cs
- XhtmlTextWriter.cs
- DynamicDocumentPaginator.cs
- HtmlTableRowCollection.cs
- InvalidCastException.cs
- BulletedListEventArgs.cs
- RadioButtonStandardAdapter.cs
- CleanUpVirtualizedItemEventArgs.cs
- OrthographicCamera.cs
- FileIOPermission.cs
- CodeLabeledStatement.cs
- DefaultBindingPropertyAttribute.cs
- IdentityReference.cs
- SQLInt32Storage.cs
- HtmlShim.cs
- DataGridViewColumn.cs
- DtdParser.cs
- CompiledXpathExpr.cs
- SoapIgnoreAttribute.cs
- WinInetCache.cs
- DataGridColumn.cs
- altserialization.cs
- AncillaryOps.cs
- XmlQueryRuntime.cs
- TableRow.cs
- TypeSource.cs
- CounterSample.cs
- Rotation3DAnimationUsingKeyFrames.cs
- PerspectiveCamera.cs
- SignatureGenerator.cs
- ProviderUtil.cs
- PartialClassGenerationTaskInternal.cs
- PointCollectionConverter.cs
- ProcessHostConfigUtils.cs
- HandlerFactoryWrapper.cs
- ParameterInfo.cs
- InstanceDataCollectionCollection.cs
- ComplexTypeEmitter.cs
- WindowsMenu.cs
- DataListItem.cs
- MailDefinition.cs
- PropertyInfoSet.cs
- embossbitmapeffect.cs
- StreamAsIStream.cs
- SqlReferenceCollection.cs
- GeneralTransformGroup.cs
- DynamicRenderer.cs
- TileBrush.cs
- SafeRightsManagementQueryHandle.cs
- BuiltInPermissionSets.cs
- SelectionRangeConverter.cs
- CheckBoxAutomationPeer.cs
- ErrorLog.cs
- LogLogRecordHeader.cs
- UpdatePanelTrigger.cs
- UnknownMessageReceivedEventArgs.cs
- ServiceNameCollection.cs
- SystemIPv6InterfaceProperties.cs
- HiddenField.cs
- OrderedDictionary.cs
- RefreshEventArgs.cs
- Configuration.cs
- CodeExporter.cs
- LeaseManager.cs
- CodeGroup.cs
- SerializableAttribute.cs
- Win32PrintDialog.cs
- DelimitedListTraceListener.cs
- ReadOnlyCollectionBuilder.cs
- DoubleLinkListEnumerator.cs
- CommandHelper.cs
- UriParserTemplates.cs
- TypeContext.cs
- ComponentEvent.cs
- DataViewManagerListItemTypeDescriptor.cs
- RepeaterCommandEventArgs.cs
- StrokeDescriptor.cs
- MarshalDirectiveException.cs
- OdbcParameterCollection.cs
- storepermissionattribute.cs
- SharedUtils.cs
- ImportCatalogPart.cs
- Command.cs
- CharUnicodeInfo.cs
- DropShadowEffect.cs
- TreeNodeStyle.cs
- OciEnlistContext.cs
- PostBackOptions.cs
- TypeExtension.cs
- XmlMessageFormatter.cs
- DuplicateWaitObjectException.cs
- CompositionTarget.cs
- ServicesUtilities.cs