예제 #1
0
 public override void Signal(IActivityExecution execution, string signalName, object signalData)
 {
     // join compensating executions
     if (!execution.HasChildren())
     {
         Leave(execution);
     }
 }
 protected internal virtual IActivityExecution FindFirstLeaf(IActivityExecution execution)
 {
     if (execution.HasChildren())
     {
         return(FindFirstLeaf(execution.Executions[0]));
     }
     return(execution);
 }
 public override void Signal(IActivityExecution execution, string signalName, object signalData)
 {
     if (LegacyBehavior.SignalCancelBoundaryEvent(signalName))
     {
         if (!execution.HasChildren())
         {
             Leave(execution);
         }
         else
         {
             base.Signal(execution, signalName, signalData);
         }
     }
 }