Fix workflow builder extensions return type
This commit is contained in:
parent
dd72ba3f14
commit
f98d31842e
|
|
@ -13,7 +13,7 @@ namespace Elsa.Builders
|
|||
public string? DisplayName { get; set; }
|
||||
public string? Description { get; set; }
|
||||
IDictionary<string, IActivityPropertyValueProvider>? PropertyValueProviders { get; }
|
||||
bool PersistWorkflow { get; set; }
|
||||
bool PersistWorkflowEnabled { get; set; }
|
||||
bool LoadWorkflowContextEnabled { get; set; }
|
||||
bool SaveWorkflowContextEnabled { get; set; }
|
||||
bool PersistOutputEnabled { get; set; }
|
||||
|
|
@ -27,5 +27,6 @@ namespace Elsa.Builders
|
|||
IActivityBuilder WithDescription(string? value);
|
||||
IActivityBuilder LoadWorkflowContext(bool value = true);
|
||||
IActivityBuilder SaveWorkflowContext(bool value = true);
|
||||
IActivityBuilder PersistWorkflow(bool value = true);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using Elsa.Activities.Primitives;
|
||||
using Elsa.Builders;
|
||||
using Elsa.Services.Models;
|
||||
|
||||
// ReSharper disable once CheckNamespace
|
||||
namespace Elsa.Activities.ControlFlow
|
||||
{
|
||||
public static class CorrelateBuilderExtensions
|
||||
{
|
||||
public static IActivityBuilder Correlate(this IBuilder builder, Action<ISetupActivity<Correlate>> setup) => builder.Then(setup);
|
||||
public static IActivityBuilder Correlate(this IBuilder builder, Func<ActivityExecutionContext, ValueTask<string?>> value) => builder.Correlate(activity => activity.Set(x => x.Value, value));
|
||||
public static IActivityBuilder Correlate(this IBuilder builder, Func<ActivityExecutionContext, string?> value) => builder.Correlate(activity => activity.Set(x => x.Value, value));
|
||||
public static IActivityBuilder Correlate(this IBuilder builder, Func<ValueTask<string?>> value) => builder.Correlate(activity => activity.Set(x => x.Value, value));
|
||||
public static IActivityBuilder Correlate(this IBuilder builder, Func<string?> value) => builder.Correlate(activity => activity.Set(x => x.Value, value));
|
||||
public static IActivityBuilder Correlate(this IBuilder builder, string? value) => builder.Correlate(activity => activity.Set(x => x.Value, value));
|
||||
}
|
||||
}
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using Elsa.Activities.Primitives;
|
||||
using Elsa.Builders;
|
||||
using Elsa.Services.Models;
|
||||
|
||||
// ReSharper disable once CheckNamespace
|
||||
namespace Elsa.Activities.ControlFlow
|
||||
{
|
||||
public static class CorrelateBuilderExtensions
|
||||
{
|
||||
public static IOutcomeBuilder Correlate(this IBuilder builder, Action<ISetupActivity<Correlate>> setup) => builder.Then(setup).When(OutcomeNames.Done);
|
||||
public static IOutcomeBuilder Correlate(this IBuilder builder, Func<ActivityExecutionContext, ValueTask<string?>> value) => builder.Correlate(activity => activity.Set(x => x.Value, value));
|
||||
public static IOutcomeBuilder Correlate(this IBuilder builder, Func<ActivityExecutionContext, string?> value) => builder.Correlate(activity => activity.Set(x => x.Value, value));
|
||||
public static IOutcomeBuilder Correlate(this IBuilder builder, Func<ValueTask<string?>> value) => builder.Correlate(activity => activity.Set(x => x.Value, value));
|
||||
public static IOutcomeBuilder Correlate(this IBuilder builder, Func<string?> value) => builder.Correlate(activity => activity.Set(x => x.Value, value));
|
||||
public static IOutcomeBuilder Correlate(this IBuilder builder, string? value) => builder.Correlate(activity => activity.Set(x => x.Value, value));
|
||||
}
|
||||
}
|
||||
|
|
@ -9,11 +9,11 @@ namespace Elsa.Activities.ControlFlow
|
|||
{
|
||||
public static class SetContextIdBuilderExtensions
|
||||
{
|
||||
public static IOutcomeBuilder SetContextId(this IBuilder builder, Action<ISetupActivity<SetContextId>> setup) => builder.Then(setup).When(OutcomeNames.Done);
|
||||
public static IOutcomeBuilder SetContextId(this IBuilder builder, Func<ActivityExecutionContext, ValueTask<string>> value) => builder.SetContextId(activity => activity.Set(x => x.ContextId, value!));
|
||||
public static IOutcomeBuilder SetContextId(this IBuilder builder, Func<ActivityExecutionContext, string> value) => builder.SetContextId(activity => activity.Set(x => x.ContextId, value!));
|
||||
public static IOutcomeBuilder SetContextId(this IBuilder builder, Func<ValueTask<string>> value) => builder.SetContextId(activity => activity.Set(x => x.ContextId, value!));
|
||||
public static IOutcomeBuilder SetContextId(this IBuilder builder, Func<string> value) => builder.SetContextId(activity => activity.Set(x => x.ContextId, value!));
|
||||
public static IOutcomeBuilder SetContextId(this IBuilder builder, string value) => builder.SetContextId(activity => activity.Set(x => x.ContextId, value!));
|
||||
public static IActivityBuilder SetContextId(this IBuilder builder, Action<ISetupActivity<SetContextId>> setup) => builder.Then(setup);
|
||||
public static IActivityBuilder SetContextId(this IBuilder builder, Func<ActivityExecutionContext, ValueTask<string>> value) => builder.SetContextId(activity => activity.Set(x => x.ContextId, value!));
|
||||
public static IActivityBuilder SetContextId(this IBuilder builder, Func<ActivityExecutionContext, string> value) => builder.SetContextId(activity => activity.Set(x => x.ContextId, value!));
|
||||
public static IActivityBuilder SetContextId(this IBuilder builder, Func<ValueTask<string>> value) => builder.SetContextId(activity => activity.Set(x => x.ContextId, value!));
|
||||
public static IActivityBuilder SetContextId(this IBuilder builder, Func<string> value) => builder.SetContextId(activity => activity.Set(x => x.ContextId, value!));
|
||||
public static IActivityBuilder SetContextId(this IBuilder builder, string value) => builder.SetContextId(activity => activity.Set(x => x.ContextId, value!));
|
||||
}
|
||||
}
|
||||
|
|
@ -8,11 +8,11 @@ namespace Elsa.Activities.Primitives
|
|||
{
|
||||
public static class SetNameBuilderExtensions
|
||||
{
|
||||
public static IOutcomeBuilder SetName(this IBuilder builder, Action<ISetupActivity<SetName>> setup) => builder.Then(setup).When(OutcomeNames.Done);
|
||||
public static IOutcomeBuilder SetName(this IBuilder builder, Func<ActivityExecutionContext, ValueTask<string?>> value) => builder.SetName(activity => activity.WithValue(value));
|
||||
public static IOutcomeBuilder SetName(this IBuilder builder, Func<ActivityExecutionContext, string?> value) => builder.SetName(activity => activity.WithValue(value));
|
||||
public static IOutcomeBuilder SetName(this IBuilder builder, Func<ValueTask<string?>> value) => builder.SetName(activity => activity.WithValue(value));
|
||||
public static IOutcomeBuilder SetName(this IBuilder builder, Func<string?> value) => builder.SetName(activity => activity.WithValue(value));
|
||||
public static IOutcomeBuilder SetName(this IBuilder builder, string? value) => builder.SetName(activity => activity.WithValue(value));
|
||||
public static IActivityBuilder SetName(this IBuilder builder, Action<ISetupActivity<SetName>> setup) => builder.Then(setup);
|
||||
public static IActivityBuilder SetName(this IBuilder builder, Func<ActivityExecutionContext, ValueTask<string?>> value) => builder.SetName(activity => activity.WithValue(value));
|
||||
public static IActivityBuilder SetName(this IBuilder builder, Func<ActivityExecutionContext, string?> value) => builder.SetName(activity => activity.WithValue(value));
|
||||
public static IActivityBuilder SetName(this IBuilder builder, Func<ValueTask<string?>> value) => builder.SetName(activity => activity.WithValue(value));
|
||||
public static IActivityBuilder SetName(this IBuilder builder, Func<string?> value) => builder.SetName(activity => activity.WithValue(value));
|
||||
public static IActivityBuilder SetName(this IBuilder builder, string? value) => builder.SetName(activity => activity.WithValue(value));
|
||||
}
|
||||
}
|
||||
|
|
@ -8,42 +8,42 @@ namespace Elsa.Activities.Primitives
|
|||
{
|
||||
public static class SetTransientVariableBuilderExtensions
|
||||
{
|
||||
public static IOutcomeBuilder SetTransientVariable(this IBuilder builder, Action<ISetupActivity<SetTransientVariable>> setup) => builder.Then(setup).When(OutcomeNames.Done);
|
||||
public static IActivityBuilder SetTransientVariable(this IBuilder builder, Action<ISetupActivity<SetTransientVariable>> setup) => builder.Then(setup);
|
||||
|
||||
public static IOutcomeBuilder SetTransientVariable(this IBuilder builder, string name, Func<ActivityExecutionContext, ValueTask<object?>> value) =>
|
||||
public static IActivityBuilder SetTransientVariable(this IBuilder builder, string name, Func<ActivityExecutionContext, ValueTask<object?>> value) =>
|
||||
builder.SetTransientVariable(
|
||||
activity => activity
|
||||
.Set(x => x.VariableName, name)
|
||||
.Set(x => x.Value, value));
|
||||
|
||||
public static IOutcomeBuilder SetTransientVariable(this IBuilder builder, string name, Func<ActivityExecutionContext, object?> value) =>
|
||||
public static IActivityBuilder SetTransientVariable(this IBuilder builder, string name, Func<ActivityExecutionContext, object?> value) =>
|
||||
builder.SetTransientVariable(
|
||||
activity => activity
|
||||
.Set(x => x.VariableName, name)
|
||||
.Set(x => x.Value, value));
|
||||
|
||||
public static IOutcomeBuilder SetTransientVariable(this IBuilder builder, string name, Func<ValueTask<object?>> value) =>
|
||||
public static IActivityBuilder SetTransientVariable(this IBuilder builder, string name, Func<ValueTask<object?>> value) =>
|
||||
builder.SetTransientVariable(
|
||||
activity => activity
|
||||
.Set(x => x.VariableName, name)
|
||||
.Set(x => x.Value, value));
|
||||
|
||||
public static IOutcomeBuilder SetTransientVariable(this IBuilder builder, string name, Func<object?> value) =>
|
||||
public static IActivityBuilder SetTransientVariable(this IBuilder builder, string name, Func<object?> value) =>
|
||||
builder.SetTransientVariable(
|
||||
activity => activity
|
||||
.Set(x => x.VariableName, name)
|
||||
.Set(x => x.Value, value));
|
||||
|
||||
public static IOutcomeBuilder SetTransientVariable(this IBuilder builder, string name, object? value) =>
|
||||
public static IActivityBuilder SetTransientVariable(this IBuilder builder, string name, object? value) =>
|
||||
builder.SetTransientVariable(
|
||||
activity => activity
|
||||
.Set(x => x.VariableName, name)
|
||||
.Set(x => x.Value, value));
|
||||
|
||||
public static IOutcomeBuilder SetTransientVariable<T>(this IBuilder builder, Func<ActivityExecutionContext, ValueTask<T>> value) => builder.SetTransientVariable(typeof(T).Name, async context => await value(context));
|
||||
public static IOutcomeBuilder SetTransientVariable<T>(this IBuilder builder, Func<ActivityExecutionContext, T> value) => builder.SetTransientVariable(typeof(T).Name, context => value(context));
|
||||
public static IOutcomeBuilder SetTransientVariable<T>(this IBuilder builder, Func<ValueTask<T>> value) => builder.SetTransientVariable(typeof(T).Name, async () => await value());
|
||||
public static IOutcomeBuilder SetTransientVariable<T>(this IBuilder builder, Func<T> value) => builder.SetTransientVariable(typeof(T).Name, () => value());
|
||||
public static IOutcomeBuilder SetTransientVariable<T>(this IBuilder builder, T value) => builder.SetTransientVariable(typeof(T).Name, value);
|
||||
public static IActivityBuilder SetTransientVariable<T>(this IBuilder builder, Func<ActivityExecutionContext, ValueTask<T>> value) => builder.SetTransientVariable(typeof(T).Name, async context => await value(context));
|
||||
public static IActivityBuilder SetTransientVariable<T>(this IBuilder builder, Func<ActivityExecutionContext, T> value) => builder.SetTransientVariable(typeof(T).Name, context => value(context));
|
||||
public static IActivityBuilder SetTransientVariable<T>(this IBuilder builder, Func<ValueTask<T>> value) => builder.SetTransientVariable(typeof(T).Name, async () => await value());
|
||||
public static IActivityBuilder SetTransientVariable<T>(this IBuilder builder, Func<T> value) => builder.SetTransientVariable(typeof(T).Name, () => value());
|
||||
public static IActivityBuilder SetTransientVariable<T>(this IBuilder builder, T value) => builder.SetTransientVariable(typeof(T).Name, value);
|
||||
}
|
||||
}
|
||||
|
|
@ -8,42 +8,42 @@ namespace Elsa.Activities.Primitives
|
|||
{
|
||||
public static class SetVariableBuilderExtensions
|
||||
{
|
||||
public static IOutcomeBuilder SetVariable(this IBuilder builder, Action<ISetupActivity<SetVariable>> setup) => builder.Then(setup).When(OutcomeNames.Done);
|
||||
public static IActivityBuilder SetVariable(this IBuilder builder, Action<ISetupActivity<SetVariable>> setup) => builder.Then(setup);
|
||||
|
||||
public static IOutcomeBuilder SetVariable(this IBuilder builder, string name, Func<ActivityExecutionContext, ValueTask<object?>> value) =>
|
||||
public static IActivityBuilder SetVariable(this IBuilder builder, string name, Func<ActivityExecutionContext, ValueTask<object?>> value) =>
|
||||
builder.SetVariable(
|
||||
activity => activity
|
||||
.Set(x => x.VariableName, name)
|
||||
.Set(x => x.Value, value));
|
||||
|
||||
public static IOutcomeBuilder SetVariable(this IBuilder builder, string name, Func<ActivityExecutionContext, object?> value) =>
|
||||
public static IActivityBuilder SetVariable(this IBuilder builder, string name, Func<ActivityExecutionContext, object?> value) =>
|
||||
builder.SetVariable(
|
||||
activity => activity
|
||||
.Set(x => x.VariableName, name)
|
||||
.Set(x => x.Value, value));
|
||||
|
||||
public static IOutcomeBuilder SetVariable(this IBuilder builder, string name, Func<ValueTask<object?>> value) =>
|
||||
public static IActivityBuilder SetVariable(this IBuilder builder, string name, Func<ValueTask<object?>> value) =>
|
||||
builder.SetVariable(
|
||||
activity => activity
|
||||
.Set(x => x.VariableName, name)
|
||||
.Set(x => x.Value, value));
|
||||
|
||||
public static IOutcomeBuilder SetVariable(this IBuilder builder, string name, Func<object?> value) =>
|
||||
public static IActivityBuilder SetVariable(this IBuilder builder, string name, Func<object?> value) =>
|
||||
builder.SetVariable(
|
||||
activity => activity
|
||||
.Set(x => x.VariableName, name)
|
||||
.Set(x => x.Value, value));
|
||||
|
||||
public static IOutcomeBuilder SetVariable(this IBuilder builder, string name, object? value) =>
|
||||
public static IActivityBuilder SetVariable(this IBuilder builder, string name, object? value) =>
|
||||
builder.SetVariable(
|
||||
activity => activity
|
||||
.Set(x => x.VariableName, name)
|
||||
.Set(x => x.Value, value));
|
||||
|
||||
public static IOutcomeBuilder SetVariable<T>(this IBuilder builder, Func<ActivityExecutionContext, ValueTask<T>> value) => builder.SetVariable(typeof(T).Name, async context => await value(context));
|
||||
public static IOutcomeBuilder SetVariable<T>(this IBuilder builder, Func<ActivityExecutionContext, T> value) => builder.SetVariable(typeof(T).Name, context => value(context));
|
||||
public static IOutcomeBuilder SetVariable<T>(this IBuilder builder, Func<ValueTask<T>> value) => builder.SetVariable(typeof(T).Name, async () => await value());
|
||||
public static IOutcomeBuilder SetVariable<T>(this IBuilder builder, Func<T> value) => builder.SetVariable(typeof(T).Name, () => value());
|
||||
public static IOutcomeBuilder SetVariable<T>(this IBuilder builder, T value) => builder.SetVariable(typeof(T).Name, value);
|
||||
public static IActivityBuilder SetVariable<T>(this IBuilder builder, Func<ActivityExecutionContext, ValueTask<T>> value) => builder.SetVariable(typeof(T).Name, async context => await value(context));
|
||||
public static IActivityBuilder SetVariable<T>(this IBuilder builder, Func<ActivityExecutionContext, T> value) => builder.SetVariable(typeof(T).Name, context => value(context));
|
||||
public static IActivityBuilder SetVariable<T>(this IBuilder builder, Func<ValueTask<T>> value) => builder.SetVariable(typeof(T).Name, async () => await value());
|
||||
public static IActivityBuilder SetVariable<T>(this IBuilder builder, Func<T> value) => builder.SetVariable(typeof(T).Name, () => value());
|
||||
public static IActivityBuilder SetVariable<T>(this IBuilder builder, T value) => builder.SetVariable(typeof(T).Name, value);
|
||||
}
|
||||
}
|
||||
|
|
@ -27,7 +27,7 @@ namespace Elsa.Builders
|
|||
public string? Name { get; set; }
|
||||
public string? DisplayName { get; set; }
|
||||
public string? Description { get; set; }
|
||||
public bool PersistWorkflow { get; set; }
|
||||
public bool PersistWorkflowEnabled { get; set; }
|
||||
public bool LoadWorkflowContextEnabled { get; set; }
|
||||
public bool SaveWorkflowContextEnabled { get; set; }
|
||||
public bool PersistOutputEnabled { get; set; }
|
||||
|
|
@ -102,5 +102,11 @@ namespace Elsa.Builders
|
|||
PersistOutputEnabled = value;
|
||||
return this;
|
||||
}
|
||||
|
||||
public IActivityBuilder PersistWorkflow(bool value)
|
||||
{
|
||||
PersistWorkflowEnabled = value;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -195,8 +195,8 @@ namespace Elsa.Builders
|
|||
{
|
||||
var isComposite = typeof(CompositeActivity).IsAssignableFrom(builder.ActivityType);
|
||||
return isComposite
|
||||
? new CompositeActivityBlueprint(builder.ActivityId, parent, builder.Name, builder.DisplayName, builder.Description, builder.ActivityType.Name, builder.PersistWorkflow, builder.LoadWorkflowContextEnabled, builder.SaveWorkflowContextEnabled, builder.PersistOutputEnabled)
|
||||
: new ActivityBlueprint(builder.ActivityId, parent, builder.Name, builder.DisplayName, builder.Description, builder.ActivityType.Name, builder.PersistWorkflow, builder.LoadWorkflowContextEnabled, builder.SaveWorkflowContextEnabled, builder.PersistOutputEnabled);
|
||||
? new CompositeActivityBlueprint(builder.ActivityId, parent, builder.Name, builder.DisplayName, builder.Description, builder.ActivityType.Name, builder.PersistWorkflowEnabled, builder.LoadWorkflowContextEnabled, builder.SaveWorkflowContextEnabled, builder.PersistOutputEnabled)
|
||||
: new ActivityBlueprint(builder.ActivityId, parent, builder.Name, builder.DisplayName, builder.Description, builder.ActivityType.Name, builder.PersistWorkflowEnabled, builder.LoadWorkflowContextEnabled, builder.SaveWorkflowContextEnabled, builder.PersistOutputEnabled);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -7,7 +7,7 @@ namespace Elsa.Builders
|
|||
{
|
||||
public class OutcomeBuilder : IOutcomeBuilder
|
||||
{
|
||||
public OutcomeBuilder(ICompositeActivityBuilder workflowBuilder, IActivityBuilder source, string outcome = "Done")
|
||||
public OutcomeBuilder(ICompositeActivityBuilder workflowBuilder, IActivityBuilder source, string outcome = OutcomeNames.Done)
|
||||
{
|
||||
WorkflowBuilder = workflowBuilder;
|
||||
Source = source;
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=activities_005Ccontrolflow_005Cifthen/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=activities_005Cprimitives_005Csetname/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=activities_005Csignaling_005Cactivities_005Creceivesignal/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=activities_005Csignaling_005Cactivities_005Csignalreceived/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=activities_005Csignaling_005Creceivesignal/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=activities_005Csignaling_005Csignaled/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=extensions/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
|
||||
Loading…
Reference in a new issue