Skip to content

Latest commit

 

History

History
 
 

WorkflowCore.Sample18

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Activity sample

Illustrates how to have your workflow wait for an external activity that is fulfilled by a worker that you implement.

This workflow will wait for the get-approval activity and pass the request string to it as an input.

builder
    .StartWith<HelloWorld>()
    .Activity("get-approval", (data) => data.Request)
        .Output(data => data.ApprovedBy, step => step.Result)
    .Then<CustomMessage>()
        .Input(step => step.Message, data => "Approved by " + data.ApprovedBy)
    .Then<GoodbyeWorld>();

Then we implement an activity worker to pull pending activities of type get-approval, where we can inspect the input and submit a response back to the waiting workflow.

var approval = host.GetPendingActivity("get-approval", "worker1", TimeSpan.FromMinutes(1)).Result;

if (approval != null)
{                
    Console.WriteLine("Approval required for " + approval.Parameters);
    host.SubmitActivitySuccess(approval.Token, "John Smith");
}