namespace System.Workflow.ComponentModel { #region Imports using System; using System.ComponentModel; using System.ComponentModel.Design; using System.Drawing; using System.Workflow.ComponentModel; using System.Workflow.ComponentModel.Design; using System.Workflow.ComponentModel.Compiler; #endregion [SRDescription(SR.CompensatableTransactionalContextActivityDescription)] [ToolboxItem(typeof(ActivityToolboxItem))] [ToolboxBitmap(typeof(CompensatableTransactionScopeActivity), "Resources.Sequence.png")] [Designer(typeof(CompensatableTransactionScopeActivityDesigner), typeof(IDesigner))] [PersistOnClose] [SupportsTransaction] [Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")] public sealed class CompensatableTransactionScopeActivity : CompositeActivity, IActivityEventListener, ICompensatableActivity { internal static readonly DependencyProperty TransactionOptionsProperty = DependencyProperty.Register("TransactionOptions", typeof(WorkflowTransactionOptions), typeof(CompensatableTransactionScopeActivity), new PropertyMetadata(DependencyPropertyOptions.Metadata, new Attribute[] { new DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Content) })); public CompensatableTransactionScopeActivity() { this.SetValueBase(TransactionOptionsProperty, new WorkflowTransactionOptions()); } public CompensatableTransactionScopeActivity(string name) : base(name) { this.SetValueBase(TransactionOptionsProperty, new WorkflowTransactionOptions()); } //[SRDisplayName(SR.Transaction)] [SRDescription(SR.TransactionDesc)] [MergableProperty(false)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] [ReadOnly(true)] public WorkflowTransactionOptions TransactionOptions { get { return (WorkflowTransactionOptions)this.GetValue(TransactionOptionsProperty); } set { SetValue(TransactionOptionsProperty, value); } } 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); } ActivityExecutionStatus ICompensatableActivity.Compensate(ActivityExecutionContext executionContext) { return ActivityExecutionStatus.Closed; } } }