public WorkflowAction OnSignal(WorkflowSignaledEvent @event) { //I'm a nice kid I will cancel whichever the activity in progress. if (@event.SignalName == "Let us have dinner") { return(CancelRequest.For(WorkflowItems.Where(i => i.IsActive))); } //I will ignore rest of the signals return(Ignore); }
public void Can_return_cancel_request_for_activity() { var activityItem = CreateActivity("name1", "1.0", "pname"); var workflowItems = new WorkflowItems(); workflowItems.Add(activityItem); var cancelRequest = new CancelRequest(workflowItems); var decisions = cancelRequest.ForActivity <TestActivity>("pname").GetDecisions(); Assert.That(decisions, Is.EqualTo(new [] { new CancelActivityDecision(Identity.New("name1", "1.0", "pname")) })); }
public WorkflowAction OnSignal(WorkflowSignaledEvent @event) { if (@event.SignalName == "Hello kid") { return(Signal("Hello parent", "").ReplyTo(@event)); } if (@event.SignalName == "Let us have dinner") { return(CancelRequest.For(WorkflowItems.Where(i => i.IsActive))); } //I will ignore rest of the signals return(Ignore); }