public static State Execute(this IWorkflow workflow, State state)
 {
     return(workflow.ExecuteAsync(state).Result);
 }
 public static TOutput Execute <TInput, TOutput>(this IWorkflow workflow, TInput input)
 {
     return(workflow.ExecuteAsync <TInput, TOutput>(input, CancellationToken.None).Result);
 }
 public static Task <T> ExecuteAsync <T>(this IWorkflow workflow, T input, CancellationToken cancellationToken)
 {
     return(workflow.ExecuteAsync <T, T>(input, cancellationToken));
 }
        public static async Task <TOutput> ExecuteAsync <TInput, TOutput>(this IWorkflow workflow, TInput input, CancellationToken cancellationToken)
        {
            var result = await workflow.ExecuteAsync(new State(input), cancellationToken);

            return((TOutput)result.Value);
        }
 public static Task <State> ExecuteAsync(this IWorkflow workflow)
 {
     return(workflow.ExecuteAsync(new State()));
 }
 public static Task <State> ExecuteAsync(this IWorkflow workflow, CancellationToken cancellationToken)
 {
     return(workflow.ExecuteAsync(new State(), cancellationToken));
 }
 public static Task <State> ExecuteAsync(this IWorkflow workflow, State state)
 {
     return(workflow.ExecuteAsync(state, CancellationToken.None));
 }