@@ -63,6 +63,16 @@ public IStepBuilder<TData, InlineStepBody> Then(Func<IStepExecutionContext, Exec
63
63
return stepBuilder ;
64
64
}
65
65
66
+ public IStepBuilder < TData , ActionStepBody > Then ( Action < IStepExecutionContext > body )
67
+ {
68
+ var newStep = new WorkflowStep < ActionStepBody > ( ) ;
69
+ WorkflowBuilder . AddStep ( newStep ) ;
70
+ var stepBuilder = new StepBuilder < TData , ActionStepBody > ( WorkflowBuilder , newStep ) ;
71
+ stepBuilder . Input ( x => x . Body , x => body ) ;
72
+ Step . Outcomes . Add ( new StepOutcome ( ) { NextStep = newStep . Id } ) ;
73
+ return stepBuilder ;
74
+ }
75
+
66
76
public IStepOutcomeBuilder < TData > When ( object outcomeValue , string label = null )
67
77
{
68
78
StepOutcome result = new StepOutcome ( ) ;
@@ -274,7 +284,7 @@ public IContainerStepBuilder<TData, When, OutcomeSwitch> When(Expression<Func<TD
274
284
275
285
WorkflowBuilder . AddStep ( newStep ) ;
276
286
var stepBuilder = new SkipStepBuilder < TData , When , OutcomeSwitch > ( WorkflowBuilder , newStep , switchBuilder ) ;
277
-
287
+
278
288
switchBuilder . Step . Children . Add ( newStep . Id ) ;
279
289
280
290
return stepBuilder ;
@@ -292,6 +302,27 @@ public IParallelStepBuilder<TData, Sequence> Parallel()
292
302
return stepBuilder ;
293
303
}
294
304
305
+ public IContainerStepBuilder < TData , Schedule , TStepBody > Schedule ( Expression < Func < TData , TimeSpan > > time )
306
+ {
307
+ var newStep = new WorkflowStep < Schedule > ( ) ;
308
+
309
+ Expression < Func < Schedule , TimeSpan > > inputExpr = ( x => x . Period ) ;
310
+
311
+ var mapping = new DataMapping ( )
312
+ {
313
+ Source = time ,
314
+ Target = inputExpr
315
+ } ;
316
+ newStep . Inputs . Add ( mapping ) ;
317
+
318
+ WorkflowBuilder . AddStep ( newStep ) ;
319
+ var stepBuilder = new SkipStepBuilder < TData , Schedule , TStepBody > ( WorkflowBuilder , newStep , this ) ;
320
+
321
+ Step . Outcomes . Add ( new StepOutcome ( ) { NextStep = newStep . Id } ) ;
322
+
323
+ return stepBuilder ;
324
+ }
325
+
295
326
public IStepBuilder < TData , TStepBody > Do ( Action < IWorkflowBuilder < TData > > builder )
296
327
{
297
328
builder . Invoke ( WorkflowBuilder ) ;
0 commit comments