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); } } }