From a2afe4498cfe2d9b1bad080a1fb9eb73d0b7f51a Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Thu, 29 Oct 2020 09:23:31 +0100 Subject: [PATCH] Add While activity builder extensions --- .../ControlFlow/While/WhileBuilderExtensions.cs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/core/Elsa.Core/Activities/ControlFlow/While/WhileBuilderExtensions.cs diff --git a/src/core/Elsa.Core/Activities/ControlFlow/While/WhileBuilderExtensions.cs b/src/core/Elsa.Core/Activities/ControlFlow/While/WhileBuilderExtensions.cs new file mode 100644 index 000000000..bb7596fc0 --- /dev/null +++ b/src/core/Elsa.Core/Activities/ControlFlow/While/WhileBuilderExtensions.cs @@ -0,0 +1,17 @@ +using System; +using System.Threading.Tasks; +using Elsa.Builders; +using Elsa.Services.Models; + +// ReSharper disable once CheckNamespace +namespace Elsa.Activities.ControlFlow +{ + public static class WhileBuilderExtensions + { + public static IActivityBuilder While(this IBuilder builder, Action> setup, Action iterate) => builder.Then(setup, branch => iterate(branch.When(OutcomeNames.Iterate))); + public static IActivityBuilder While(this IBuilder builder, Func> condition, Action iterate) => builder.While(activity => activity.Set(x => x.Condition, condition), iterate); + public static IActivityBuilder While(this IBuilder builder, Func condition, Action iterate) => builder.While(activity => activity.Set(x => x.Condition, condition), iterate); + public static IActivityBuilder While(this IBuilder builder, Func condition, Action iterate) => builder.While(activity => activity.Set(x => x.Condition, condition), iterate); + public static IActivityBuilder While(this IBuilder builder, bool condition, Action iterate) => builder.While(activity => activity.Set(x => x.Condition, condition), iterate); + } +} \ No newline at end of file