Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Common / AuthoringOM / Suspend.cs / 1305376 / Suspend.cs
namespace System.Workflow.ComponentModel { #region Imports using System; using System.Text; using System.Reflection; using System.Collections; using System.CodeDom; using System.ComponentModel; using System.ComponentModel.Design; using System.Drawing; using System.Workflow.ComponentModel; using System.Workflow.ComponentModel.Design; using System.Collections.Generic; using System.Drawing.Design; using System.Workflow.ComponentModel.Compiler; using System.Workflow.Runtime; #endregion [SRDescription(SR.SuspendActivityDescription)] [ToolboxItem(typeof(ActivityToolboxItem))] [Designer(typeof(SuspendDesigner), typeof(IDesigner))] [ToolboxBitmap(typeof(SuspendActivity), "Resources.Suspend.png")] [ActivityValidator(typeof(SuspendValidator))] [SRCategory(SR.Standard)] public sealed class SuspendActivity : Activity { public static readonly DependencyProperty ErrorProperty = DependencyProperty.Register("Error", typeof(string), typeof(SuspendActivity)); #region Constructors public SuspendActivity() { } public SuspendActivity(string name) : base(name) { } #endregion 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 sealed ActivityExecutionStatus Execute(ActivityExecutionContext executionContext) { executionContext.CloseActivity(); string suspendReason = this.Error; executionContext.SuspendWorkflowInstance(suspendReason); return ActivityExecutionStatus.Closed; } [Browsable(true)] [SRCategory(SR.Activity)] [SRDescription(SR.SuspendErrorMessageDescr)] [MergableProperty(false)] [DefaultValue((string)null)] public string Error { get { return base.GetValue(ErrorProperty) as string; } set { base.SetValue(ErrorProperty, value); } } } internal sealed class SuspendValidator : ActivityValidator { public override ValidationErrorCollection Validate(ValidationManager manager, object obj) { ValidationErrorCollection validationErrors = base.Validate(manager, obj); SuspendActivity suspend = obj as SuspendActivity; if (suspend == null) throw new ArgumentException(SR.GetString(SR.Error_UnexpectedArgumentType, typeof(SuspendActivity).FullName), "obj"); CompositeActivity parent = suspend.Parent; while (parent != null) { if (parent.SupportsTransaction) { validationErrors.Add(new ValidationError(SR.GetString(SR.Error_SuspendInAtomicScope), ErrorNumbers.Error_SuspendInAtomicScope)); break; } parent = parent.Parent; } return validationErrors; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. namespace System.Workflow.ComponentModel { #region Imports using System; using System.Text; using System.Reflection; using System.Collections; using System.CodeDom; using System.ComponentModel; using System.ComponentModel.Design; using System.Drawing; using System.Workflow.ComponentModel; using System.Workflow.ComponentModel.Design; using System.Collections.Generic; using System.Drawing.Design; using System.Workflow.ComponentModel.Compiler; using System.Workflow.Runtime; #endregion [SRDescription(SR.SuspendActivityDescription)] [ToolboxItem(typeof(ActivityToolboxItem))] [Designer(typeof(SuspendDesigner), typeof(IDesigner))] [ToolboxBitmap(typeof(SuspendActivity), "Resources.Suspend.png")] [ActivityValidator(typeof(SuspendValidator))] [SRCategory(SR.Standard)] public sealed class SuspendActivity : Activity { public static readonly DependencyProperty ErrorProperty = DependencyProperty.Register("Error", typeof(string), typeof(SuspendActivity)); #region Constructors public SuspendActivity() { } public SuspendActivity(string name) : base(name) { } #endregion 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 sealed ActivityExecutionStatus Execute(ActivityExecutionContext executionContext) { executionContext.CloseActivity(); string suspendReason = this.Error; executionContext.SuspendWorkflowInstance(suspendReason); return ActivityExecutionStatus.Closed; } [Browsable(true)] [SRCategory(SR.Activity)] [SRDescription(SR.SuspendErrorMessageDescr)] [MergableProperty(false)] [DefaultValue((string)null)] public string Error { get { return base.GetValue(ErrorProperty) as string; } set { base.SetValue(ErrorProperty, value); } } } internal sealed class SuspendValidator : ActivityValidator { public override ValidationErrorCollection Validate(ValidationManager manager, object obj) { ValidationErrorCollection validationErrors = base.Validate(manager, obj); SuspendActivity suspend = obj as SuspendActivity; if (suspend == null) throw new ArgumentException(SR.GetString(SR.Error_UnexpectedArgumentType, typeof(SuspendActivity).FullName), "obj"); CompositeActivity parent = suspend.Parent; while (parent != null) { if (parent.SupportsTransaction) { validationErrors.Add(new ValidationError(SR.GetString(SR.Error_SuspendInAtomicScope), ErrorNumbers.Error_SuspendInAtomicScope)); break; } parent = parent.Parent; } 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
- WinFormsSecurity.cs
- DisplayNameAttribute.cs
- Emitter.cs
- SecurityElement.cs
- WinCategoryAttribute.cs
- SmtpTransport.cs
- DbConnectionOptions.cs
- BooleanExpr.cs
- MenuItemStyle.cs
- SelectionEditingBehavior.cs
- SecurityAttributeGenerationHelper.cs
- DataGridViewControlCollection.cs
- WindowAutomationPeer.cs
- RegexNode.cs
- brushes.cs
- SafeFileMappingHandle.cs
- XhtmlTextWriter.cs
- itemelement.cs
- SupportsEventValidationAttribute.cs
- AppliedDeviceFiltersEditor.cs
- SqlTriggerAttribute.cs
- BatchServiceHost.cs
- DataGridView.cs
- RsaKeyIdentifierClause.cs
- MessageDescription.cs
- TcpTransportElement.cs
- DataSourceConverter.cs
- DetailsViewRowCollection.cs
- PolicyException.cs
- XmlToDatasetMap.cs
- ResourceDisplayNameAttribute.cs
- WorkflowInspectionServices.cs
- DesignerActionItem.cs
- DiscoveryClientProtocol.cs
- DisplayToken.cs
- TextServicesProperty.cs
- TargetControlTypeCache.cs
- NavigationEventArgs.cs
- PolicyUnit.cs
- MSHTMLHost.cs
- Context.cs
- IndentTextWriter.cs
- MetadataCacheItem.cs
- BinaryUtilClasses.cs
- _NtlmClient.cs
- MessageQueue.cs
- EndEvent.cs
- DataTablePropertyDescriptor.cs
- DbConnectionInternal.cs
- NativeMethods.cs
- coordinator.cs
- WindowsComboBox.cs
- RSAOAEPKeyExchangeDeformatter.cs
- AssemblyResourceLoader.cs
- Nodes.cs
- AttributeCollection.cs
- TdsEnums.cs
- SubstitutionDesigner.cs
- ValidationError.cs
- SiteMapPathDesigner.cs
- NextPreviousPagerField.cs
- BookmarkCallbackWrapper.cs
- RubberbandSelector.cs
- ErrorReporting.cs
- UriScheme.cs
- WebBrowserUriTypeConverter.cs
- DependencyPropertyDescriptor.cs
- InputBuffer.cs
- OracleColumn.cs
- XmlILModule.cs
- Int32Collection.cs
- PropertyItem.cs
- DbConnectionPool.cs
- SystemWebSectionGroup.cs
- EntityStoreSchemaFilterEntry.cs
- DataGridSortingEventArgs.cs
- DesignerHost.cs
- CompilationLock.cs
- ConfigurationSection.cs
- ItemChangedEventArgs.cs
- UpdatableGenericsFeature.cs
- OperationValidationEventArgs.cs
- ActivityTypeResolver.xaml.cs
- BlurEffect.cs
- ViewGenResults.cs
- OracleParameterBinding.cs
- ConfigXmlDocument.cs
- BindingCompleteEventArgs.cs
- TreeNodeStyle.cs
- PersianCalendar.cs
- EventMappingSettings.cs
- EpmSourcePathSegment.cs
- XmlUnspecifiedAttribute.cs
- hresults.cs
- Oid.cs
- ConfigUtil.cs
- DesignerCategoryAttribute.cs
- EntityDescriptor.cs
- TabRenderer.cs
- DoubleLinkList.cs