public virtual MigratingCompensationEventSubscriptionInstance AddCompensationSubscriptionInstance(
            IMigrationInstruction eventSubscriptionInstruction, EventSubscriptionEntity eventSubscription,
            ScopeImpl sourceScope, ScopeImpl targetScope)
        {
            var compensationInstance = new MigratingCompensationEventSubscriptionInstance(eventSubscriptionInstruction,
                                                                                          sourceScope, targetScope, eventSubscription);

            migratingCompensationSubscriptionInstances.Add(compensationInstance);

            return(compensationInstance);
        }
Example #2
0
        /// <summary>
        ///     Creates an emerged scope
        /// </summary>
        public MigratingEventScopeInstance(EventSubscriptionEntity eventSubscription,
                                           ExecutionEntity eventScopeExecution, ScopeImpl targetScope)
        {
            MigratingEventSubscription = new MigratingCompensationEventSubscriptionInstance(null, null, targetScope,
                                                                                            eventSubscription);
            this.EventScopeExecution = eventScopeExecution;

            // compensation handlers (not boundary events)
            // or parent flow scopes
            this.targetScope = targetScope;
            currentScope     = targetScope;
        }
Example #3
0
        public MigratingEventScopeInstance(IMigrationInstruction migrationInstruction,
                                           ExecutionEntity eventScopeExecution, ScopeImpl sourceScope, ScopeImpl targetScope,
                                           IMigrationInstruction eventSubscriptionInstruction, EventSubscriptionEntity eventSubscription,
                                           ScopeImpl eventSubscriptionSourceScope, ScopeImpl eventSubscriptionTargetScope)
        {
            MigratingEventSubscription = new MigratingCompensationEventSubscriptionInstance(
                eventSubscriptionInstruction, eventSubscriptionSourceScope, eventSubscriptionTargetScope,
                eventSubscription);
            this.migrationInstruction = migrationInstruction;
            this.EventScopeExecution  = eventScopeExecution;

            // compensation handlers (not boundary events)
            this.sourceScope = sourceScope;
            this.targetScope = targetScope;
        }
 public abstract void AddChild(MigratingCompensationEventSubscriptionInstance migratingEventSubscription);
 public override void RemoveChild(MigratingCompensationEventSubscriptionInstance migratingEventSubscription)
 {
     ChildCompensationSubscriptionInstances.Remove(migratingEventSubscription);
 }