public static IActivityBuilder SetVariable(this ICompositeActivityBuilder builder, string variableName, object?value, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string?sourceFile = default) =>
 builder.StartWith <SetVariable>(
     activity =>
 {
     activity.Set(x => x.VariableName, _ => variableName);
     activity.Set(x => x.Value, _ => value);
 }, null, lineNumber, sourceFile);
 public ConnectionBuilder(ICompositeActivityBuilder workflowBuilder, Func <IActivityBuilder> source, Func <IActivityBuilder> target, string outcome = OutcomeNames.Done)
 {
     Source          = source;
     Target          = target;
     WorkflowBuilder = workflowBuilder;
     Outcome         = outcome;
 }
Exemple #3
0
        public override void Build(ICompositeActivityBuilder builder)
        {
            builder
            .StartWith <Fork>(fork => fork.WithBranches("A", "B", "C"), fork =>
            {
                fork
                .When("A")
                .While(true, @while => @while
                       .Timer(Duration.FromSeconds(1))
                       .WriteLine("Timer A went off"))
                .ThenNamed("Join1");

                fork
                .When("B")
                .While(true, @while => @while
                       .Timer(Duration.FromSeconds(5))
                       .WriteLine("Timer B went off"))
                .ThenNamed("Join1");

                fork
                .When("C")
                .Timer(Duration.FromSeconds(6))
                .WriteLine("Timer C went off")
                .ThenNamed("Join1");
            })
            .Add <Join>(join => join.WithMode(Join.JoinMode.WaitAny)).WithName("Join1")
            .WriteLine("Container 1 Joined!")
            .Finish();
        }
 public static IActivityBuilder Add <T>(
     this ICompositeActivityBuilder compositeActivityBuilder,
     Action <IActivityBuilder>?branch = default,
     IDictionary <string, IActivityPropertyValueProvider>?propertyValueProviders = default,
     [CallerLineNumber] int lineNumber  = default,
     [CallerFilePath] string?sourceFile = default)
     where T : class, IActivity => compositeActivityBuilder.Add <T>(typeof(T).Name, branch, propertyValueProviders, lineNumber, sourceFile);
 public static IActivityBuilder SetVariable(
     this ICompositeActivityBuilder builder,
     string variableName,
     Func <object?> value,
     [CallerLineNumber] int lineNumber  = default,
     [CallerFilePath] string?sourceFile = default) =>
 builder.SetVariable(variableName, value(), lineNumber, sourceFile);
Exemple #6
0
 public override void Build(ICompositeActivityBuilder builder)
 {
     builder
     .StartWith(GetInstructions)
     .WriteLine(context => (string)context.Input)
     .ReadLine()
     .Finish(context => context.GetInput <string>().Capitalize());
 }
Exemple #7
0
 public static IActivityBuilder SetVariable <T>(
     this ICompositeActivityBuilder builder,
     string variableName,
     Func <ActivityExecutionContext, object?> value,
     [CallerLineNumber] int lineNumber  = default,
     [CallerFilePath] string?sourceFile = default) =>
 builder.StartWith <SetVariable>(
     activity =>
 {
     activity.WithVariableName(variableName);
     activity.WithValue(value);
 }, null, lineNumber, sourceFile);
Exemple #8
0
 public ActivityBuilder(
     Type activityType,
     string activityTypeName,
     ICompositeActivityBuilder workflowBuilder,
     IDictionary <string, IActivityPropertyValueProvider>?propertyValueProviders,
     int lineNumber,
     string?sourceFile)
 {
     ActivityType           = activityType;
     ActivityTypeName       = activityTypeName;
     WorkflowBuilder        = workflowBuilder;
     PropertyValueProviders = propertyValueProviders;
     LineNumber             = lineNumber;
     SourceFile             = sourceFile;
 }
Exemple #9
0
        public override void Build(ICompositeActivityBuilder builder)
        {
            builder
            .StartWith <Fork>(fork => fork.WithBranches("D", "E"), fork =>
            {
                fork
                .When("D")
                .Timer(Duration.FromSeconds(20))
                .WriteLine("Timer D went off. Exiting fork")
                .ThenNamed("Join2");

                fork
                .When("E")
                .While(true, iterate => iterate
                       .Timer(Duration.FromSeconds(5))
                       .WriteLine("Timer E went off. Looping."))
                .ThenNamed("Join2");
            })
            .Add <Join>(join => join.WithMode(Join.JoinMode.WaitAny)).WithName("Join2")
            .WriteLine("Container 2 Joined!")
            .Finish();
        }
 public static IActivityBuilder Add <T>(
     this ICompositeActivityBuilder compositeActivityBuilder,
     Action <ISetupActivity <T> >?setup,
     Action <IActivityBuilder>?branch   = default,
     [CallerLineNumber] int lineNumber  = default,
     [CallerFilePath] string?sourceFile = default) where T : class, IActivity => compositeActivityBuilder.Add(typeof(T).Name, setup, branch, lineNumber, sourceFile);
 public static IActivityBuilder StartWith <T>(
     this ICompositeActivityBuilder compositeActivityBuilder,
     Action <IActivityBuilder>?branch   = default,
     [CallerLineNumber] int lineNumber  = default,
     [CallerFilePath] string?sourceFile = default) where T : class, IActivity => compositeActivityBuilder.StartWith <T>(typeof(T).Name, branch, lineNumber, sourceFile);
 public static IActivityBuilder StartWith(
     this ICompositeActivityBuilder builder,
     Func <ActivityExecutionContext, ValueTask <IActivityExecutionResult> > action,
     [CallerLineNumber] int lineNumber  = default,
     [CallerFilePath] string?sourceFile = default) =>
 builder.StartWith <Inline>(inline => inline.Set(x => x.Function, RunInline(action)), null, lineNumber, sourceFile);
 StartWith(this ICompositeActivityBuilder builder, Action <ActivityExecutionContext> action, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string?sourceFile = default) =>
 builder.StartWith <Inline>(inline => inline.Set(x => x.Function, RunInline(action)), null, lineNumber, sourceFile);
 public static IActivityBuilder StartWith(this ICompositeActivityBuilder builder, Action action) => builder.StartWith <Inline>(inline => inline.Set(x => x.Function, RunInline(action)));
Exemple #15
0
 public override void Build(ICompositeActivityBuilder builder)
 {
 }
 public override void Build(ICompositeActivityBuilder builder)
 {
     builder.WriteLine("Line 1");
     builder.WriteLine("Line 2");
 }
Exemple #17
0
 public virtual void Build(ICompositeActivityBuilder builder)
 {
 }
Exemple #18
0
 public OutcomeBuilder(ICompositeActivityBuilder workflowBuilder, IActivityBuilder source, string outcome = OutcomeNames.Done)
 {
     WorkflowBuilder = workflowBuilder;
     Source          = source;
     Outcome         = outcome;
 }