예제 #1
0
        protected internal virtual void PlanTransactionDependentTaskListener(IExecutionEntity execution, ITransactionDependentTaskListener taskListener, ActivitiListener activitiListener)
        {
            IDictionary <string, object> executionVariablesToUse  = execution.Variables;
            ICustomPropertiesResolver    customPropertiesResolver = CreateCustomPropertiesResolver(activitiListener);
            IDictionary <string, object> customPropertiesMapToUse = InvokeCustomPropertiesResolver(execution, customPropertiesResolver);

            TransactionDependentTaskListenerExecutionScope scope = new TransactionDependentTaskListenerExecutionScope(execution.ProcessInstanceId, execution.Id, (TaskActivity)execution.CurrentFlowElement, executionVariablesToUse, customPropertiesMapToUse);

            AddTransactionListener(activitiListener, new ExecuteTaskListenerTransactionListener(taskListener, scope));
        }
 public ExecuteTaskListenerTransactionListener(ITransactionDependentTaskListener listener, TransactionDependentTaskListenerExecutionScope scope)
 {
     this.listener = listener;
     this.scope    = scope;
 }