Add IfTrue overload

This commit is contained in:
Sipke Schoorstra 2021-01-13 19:57:49 +01:00
parent be53a9f68b
commit 02a3df468c
2 changed files with 6 additions and 0 deletions

View file

@ -1,4 +1,5 @@
using System;
using System.Threading.Tasks;
using Elsa.Builders;
using Elsa.Services.Models;
@ -18,6 +19,9 @@ namespace Elsa.Activities.ControlFlow
public static IActivityBuilder IfElse(this IBuilder builder, Func<bool> condition, Action<IActivityBuilder>? activity = default) => builder.IfElse(x => x.WithCondition(condition), activity);
public static IActivityBuilder IfElse(this IBuilder builder, bool condition, Action<IActivityBuilder>? activity = default) => builder.IfElse(x => x.WithCondition(condition), activity);
public static IActivityBuilder IfTrue(this IBuilder builder, Func<ActivityExecutionContext, ValueTask<bool>> condition, Action<IOutcomeBuilder> whenTrue) =>
builder.IfElse(x => x.WithCondition(condition), ifElse => whenTrue(ifElse.When(OutcomeNames.True)));
public static IActivityBuilder IfTrue(this IBuilder builder, Func<ActivityExecutionContext, bool> condition, Action<IOutcomeBuilder> whenTrue) =>
builder.IfElse(x => x.WithCondition(condition), ifElse => whenTrue(ifElse.When(OutcomeNames.True)));

View file

@ -1,4 +1,5 @@
using System;
using System.Threading.Tasks;
using Elsa.Builders;
using Elsa.Services.Models;
@ -7,6 +8,7 @@ namespace Elsa.Activities.ControlFlow
{
public static class IfElseExtensions
{
public static ISetupActivity<IfElse> WithCondition(this ISetupActivity<IfElse> activity, Func<ActivityExecutionContext, ValueTask<bool>> value) => activity.Set(x => x.Condition, value);
public static ISetupActivity<IfElse> WithCondition(this ISetupActivity<IfElse> activity, Func<ActivityExecutionContext, bool> value) => activity.Set(x => x.Condition, value);
public static ISetupActivity<IfElse> WithCondition(this ISetupActivity<IfElse> activity, Func<bool> value) => activity.Set(x => x.Condition, value);
public static ISetupActivity<IfElse> WithCondition(this ISetupActivity<IfElse> activity, bool value) => activity.Set(x => x.Condition, value);