Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Common / AuthoringOM / Behaviors / Compensation.cs / 1305376 / Compensation.cs
namespace System.Workflow.ComponentModel { using System; using System.Drawing; using System.ComponentModel; using System.Collections; using System.ComponentModel.Design; using System.Workflow.ComponentModel.Design; using System.Workflow.ComponentModel.Compiler; [ToolboxItem(false)] [Designer(typeof(CompensationHandlerActivityDesigner), typeof(IDesigner))] [ToolboxBitmap(typeof(CompensationHandlerActivity), "Resources.Compensation.png")] [ActivityValidator(typeof(CompensationValidator))] [AlternateFlowActivityAttribute] [SRCategory(SR.Standard)] public sealed class CompensationHandlerActivity : CompositeActivity, IActivityEventListener{ public CompensationHandlerActivity() { } public CompensationHandlerActivity(string name) : base(name) { } protected internal override void Initialize(IServiceProvider provider) { if (this.Parent == null) throw new InvalidOperationException(SR.GetString(SR.Error_MustHaveParent)); base.Initialize(provider); } protected internal override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext) { return SequenceHelper.Execute(this, executionContext); } protected internal override ActivityExecutionStatus Cancel(ActivityExecutionContext executionContext) { return SequenceHelper.Cancel(this, executionContext); } void IActivityEventListener .OnEvent(Object sender, ActivityExecutionStatusChangedEventArgs e) { SequenceHelper.OnEvent(this, sender, e); } protected internal override void OnActivityChangeRemove(ActivityExecutionContext executionContext, Activity removedActivity) { SequenceHelper.OnActivityChangeRemove(this, executionContext, removedActivity); } protected internal override void OnWorkflowChangesCompleted(ActivityExecutionContext executionContext) { SequenceHelper.OnWorkflowChangesCompleted(this, executionContext); } } internal sealed class CompensationValidator : CompositeActivityValidator { public override ValidationErrorCollection Validate(ValidationManager manager, object obj) { ValidationErrorCollection validationErrors = base.Validate(manager, obj); CompensationHandlerActivity compensation = obj as CompensationHandlerActivity; if (compensation == null) throw new ArgumentException(SR.GetString(SR.Error_UnexpectedArgumentType, typeof(CompensationHandlerActivity).FullName), "obj"); // check parent must be compensatable if (!(compensation.Parent is ICompensatableActivity)) validationErrors.Add(new ValidationError(SR.GetString(SR.Error_ParentDoesNotSupportCompensation), ErrorNumbers.Error_FaultHandlerActivityParentNotFaultHandlersActivity)); if (compensation.EnabledActivities.Count == 0) validationErrors.Add(new ValidationError(SR.GetString(SR.Warning_EmptyBehaviourActivity, typeof(CompensationHandlerActivity).FullName, compensation.QualifiedName), ErrorNumbers.Warning_EmptyBehaviourActivity, true)); // compensation handlers can not contain fault handlers, compensation handler and cancellation handler else if (((ISupportAlternateFlow)compensation).AlternateFlowActivities.Count > 0) validationErrors.Add(new ValidationError(SR.GetString(SR.Error_ModelingConstructsCanNotContainModelingConstructs), ErrorNumbers.Error_ModelingConstructsCanNotContainModelingConstructs)); return validationErrors; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. namespace System.Workflow.ComponentModel { using System; using System.Drawing; using System.ComponentModel; using System.Collections; using System.ComponentModel.Design; using System.Workflow.ComponentModel.Design; using System.Workflow.ComponentModel.Compiler; [ToolboxItem(false)] [Designer(typeof(CompensationHandlerActivityDesigner), typeof(IDesigner))] [ToolboxBitmap(typeof(CompensationHandlerActivity), "Resources.Compensation.png")] [ActivityValidator(typeof(CompensationValidator))] [AlternateFlowActivityAttribute] [SRCategory(SR.Standard)] public sealed class CompensationHandlerActivity : CompositeActivity, IActivityEventListener { public CompensationHandlerActivity() { } public CompensationHandlerActivity(string name) : base(name) { } protected internal override void Initialize(IServiceProvider provider) { if (this.Parent == null) throw new InvalidOperationException(SR.GetString(SR.Error_MustHaveParent)); base.Initialize(provider); } protected internal override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext) { return SequenceHelper.Execute(this, executionContext); } protected internal override ActivityExecutionStatus Cancel(ActivityExecutionContext executionContext) { return SequenceHelper.Cancel(this, executionContext); } void IActivityEventListener .OnEvent(Object sender, ActivityExecutionStatusChangedEventArgs e) { SequenceHelper.OnEvent(this, sender, e); } protected internal override void OnActivityChangeRemove(ActivityExecutionContext executionContext, Activity removedActivity) { SequenceHelper.OnActivityChangeRemove(this, executionContext, removedActivity); } protected internal override void OnWorkflowChangesCompleted(ActivityExecutionContext executionContext) { SequenceHelper.OnWorkflowChangesCompleted(this, executionContext); } } internal sealed class CompensationValidator : CompositeActivityValidator { public override ValidationErrorCollection Validate(ValidationManager manager, object obj) { ValidationErrorCollection validationErrors = base.Validate(manager, obj); CompensationHandlerActivity compensation = obj as CompensationHandlerActivity; if (compensation == null) throw new ArgumentException(SR.GetString(SR.Error_UnexpectedArgumentType, typeof(CompensationHandlerActivity).FullName), "obj"); // check parent must be compensatable if (!(compensation.Parent is ICompensatableActivity)) validationErrors.Add(new ValidationError(SR.GetString(SR.Error_ParentDoesNotSupportCompensation), ErrorNumbers.Error_FaultHandlerActivityParentNotFaultHandlersActivity)); if (compensation.EnabledActivities.Count == 0) validationErrors.Add(new ValidationError(SR.GetString(SR.Warning_EmptyBehaviourActivity, typeof(CompensationHandlerActivity).FullName, compensation.QualifiedName), ErrorNumbers.Warning_EmptyBehaviourActivity, true)); // compensation handlers can not contain fault handlers, compensation handler and cancellation handler else if (((ISupportAlternateFlow)compensation).AlternateFlowActivities.Count > 0) validationErrors.Add(new ValidationError(SR.GetString(SR.Error_ModelingConstructsCanNotContainModelingConstructs), ErrorNumbers.Error_ModelingConstructsCanNotContainModelingConstructs)); return validationErrors; } } } // 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
- WebSysDisplayNameAttribute.cs
- VisualTreeUtils.cs
- ClientApiGenerator.cs
- StringWriter.cs
- XPathBinder.cs
- ProviderMetadata.cs
- ListViewDeleteEventArgs.cs
- TextElementEnumerator.cs
- RangeValueProviderWrapper.cs
- RadioButtonRenderer.cs
- Bezier.cs
- LabelDesigner.cs
- ZipArchive.cs
- DebugHandleTracker.cs
- VScrollBar.cs
- CheckBoxField.cs
- DispatcherOperation.cs
- GeneralTransform3D.cs
- GatewayIPAddressInformationCollection.cs
- ResourceExpressionBuilder.cs
- ZipIOLocalFileDataDescriptor.cs
- UIAgentAsyncEndRequest.cs
- HyperLink.cs
- ParsedAttributeCollection.cs
- CodeAttributeArgument.cs
- SiteMapDataSource.cs
- ItemContainerProviderWrapper.cs
- XmlArrayAttribute.cs
- CommunicationObjectFaultedException.cs
- RuntimeConfigLKG.cs
- LayoutEditorPart.cs
- configsystem.cs
- BuildResultCache.cs
- PerfCounters.cs
- TextFindEngine.cs
- FixedSOMTable.cs
- DecimalConverter.cs
- TargetParameterCountException.cs
- shaperfactory.cs
- CodeStatementCollection.cs
- StringAnimationBase.cs
- ProfilePropertySettingsCollection.cs
- BindingMemberInfo.cs
- FixedNode.cs
- TemplateParser.cs
- XmlUrlEditor.cs
- datacache.cs
- Visual3D.cs
- CuspData.cs
- CmsInterop.cs
- DataViewSetting.cs
- CollectionChangedEventManager.cs
- ServiceModelInstallComponent.cs
- ExtractorMetadata.cs
- TextBoxLine.cs
- SimplePropertyEntry.cs
- ListBoxItem.cs
- RepeatBehaviorConverter.cs
- ControlPager.cs
- TreeViewImageIndexConverter.cs
- XPathSelfQuery.cs
- StringReader.cs
- BmpBitmapDecoder.cs
- PrintControllerWithStatusDialog.cs
- MultipartContentParser.cs
- PropertyItem.cs
- EditingMode.cs
- DrawingVisual.cs
- Point4DValueSerializer.cs
- RemotingException.cs
- QueryExpr.cs
- MinimizableAttributeTypeConverter.cs
- FixedSOMFixedBlock.cs
- XD.cs
- ConnectionStringsSection.cs
- HtmlInputControl.cs
- StoreUtilities.cs
- ReadWriteControlDesigner.cs
- UriExt.cs
- WebPartsSection.cs
- ISFClipboardData.cs
- CategoryGridEntry.cs
- ToolStripPanelSelectionBehavior.cs
- FixedSOMImage.cs
- BrushValueSerializer.cs
- EncoderReplacementFallback.cs
- DragDeltaEventArgs.cs
- ZoomingMessageFilter.cs
- CodeStatement.cs
- NetworkInformationPermission.cs
- Camera.cs
- SamlAttribute.cs
- Accessible.cs
- TextContainer.cs
- UpdatePanelTriggerCollection.cs
- DataGridViewColumn.cs
- ConnectionProviderAttribute.cs
- DebugView.cs
- XhtmlBasicControlAdapter.cs
- ActivityInstanceReference.cs