protected internal override ICollection <EventSubscriptionEntity> NextElements() { var eventSubscriptionEntity = CurrentElement; var compensatingExecution = CompensationUtil.GetCompensatingExecution(eventSubscriptionEntity); if (compensatingExecution != null) { //return compensatingExecution.CompensateEventSubscriptions; } return(null); }
protected internal virtual MigratingProcessElementInstance CreateMigratingEventScopeInstance( MigratingInstanceParseContext parseContext, EventSubscriptionEntity element) { var compensatingActivity = (ActivityImpl)parseContext.SourceProcessDefinition.FindActivity(element.ActivityId); var migrationInstruction = GetMigrationInstruction(parseContext, compensatingActivity); ActivityImpl eventSubscriptionTargetScope = null; if (migrationInstruction != null) { if (compensatingActivity.CompensationHandler) { var targetEventScope = (ActivityImpl)parseContext.GetTargetActivity(migrationInstruction).EventScope; eventSubscriptionTargetScope = targetEventScope.findCompensationHandler(); } else { eventSubscriptionTargetScope = parseContext.GetTargetActivity(migrationInstruction); } } var eventScopeExecution = CompensationUtil.GetCompensatingExecution(element); var eventScopeInstruction = parseContext.FindSingleMigrationInstruction(eventScopeExecution.ActivityId); var targetScope = parseContext.GetTargetActivity(eventScopeInstruction); //var migratingCompensationInstance = // parseContext.MigratingProcessInstance.addEventScopeInstance(eventScopeInstruction, eventScopeExecution, // eventScopeExecution.getActivity(), targetScope, migrationInstruction, element, compensatingActivity, // eventSubscriptionTargetScope); //parseContext.consume(element); //parseContext.submit(migratingCompensationInstance); //parseDependentEntities(parseContext, migratingCompensationInstance); //return migratingCompensationInstance; return(null); }