Table of Contents

Class DerivedEffect

Namespace
DCR.Workflow.Effect
Assembly
DCR.Workflow.dll
public class DerivedEffect : EffectBase, IEffect
Inheritance
DerivedEffect
Implements
Inherited Members
Extension Methods

Constructors

DerivedEffect(DerivedEffectOptions, ILogger<DerivedEffect>, IEffect)

public DerivedEffect(DerivedEffectOptions options, ILogger<DerivedEffect> logger, IEffect baseEffect)

Parameters

options DerivedEffectOptions
logger ILogger<DerivedEffect>
baseEffect IEffect

DerivedEffect(DerivedEffectOptions, IServiceProvider)

public DerivedEffect(DerivedEffectOptions options, IServiceProvider sp)

Parameters

options DerivedEffectOptions
sp IServiceProvider

Fields

Options

public DerivedEffectOptions Options

Field Value

DerivedEffectOptions

Properties

AtMostOnce

public override bool AtMostOnce { get; }

Property Value

bool

Description

public override string Description { get; }

Property Value

string

Id

Id of the effect

public override string Id { get; }

Property Value

string

Remarks

This is the id used to identify the effect. Modellers use this id to indicate that an activity should have the effect

References

public IEnumerable<KeyValuePair<string, string>> References { get; }

Property Value

IEnumerable<KeyValuePair<string, string>>

RequiredParameters

Parameters required to be set

public override string[] RequiredParameters { get; }

Property Value

string[]

Remarks

The context parameter to Runtime.Execute must define at least the keys listed here.

ShouldRunActivityDidExecute

public override bool ShouldRunActivityDidExecute { get; }

Property Value

bool

ShouldRunActivityWillExecute

public override bool ShouldRunActivityWillExecute { get; }

Property Value

bool

Methods

ActivityDidExecute(Model, Activity, Dictionary<string, string>)

public override Task<Result> ActivityDidExecute(Model m, Activity a, Dictionary<string, string> parameters)

Parameters

m Model
a Activity
parameters Dictionary<string, string>

Returns

Task<Result>

ActivityWillExecute(Model, Activity, Dictionary<string, string>)

Callback to run effect before activity execution

public override Task<Result> ActivityWillExecute(Model m, Activity a, Dictionary<string, string> parameters)

Parameters

m Model
a Activity
parameters Dictionary<string, string>

The parameters for the effect. In value, references to model values, e.g., $(Activity) are replaced with their values. [LINK: model value references docs] The dictionary is guaranteed to have defined value for all keys in RequiredParameters.

Returns

Task<Result>

A pair of a Result structure and an optional state object to be passed in to a subsequent call to ActivityDidExecute.

Remarks

Execute the effect, possibly returning an updated value. The effect executes before the underlying activity is executed, and if the effect fails (throws), execution of the activity is aborted.

Clone()

public DerivedEffect Clone()

Returns

DerivedEffect

CompileArguments(Dictionary<string, string>)

public Dictionary<string, string> CompileArguments(Dictionary<string, string> input)

Parameters

input Dictionary<string, string>

Returns

Dictionary<string, string>

CreateTemplate(string, string, IServiceProvider)

public static DerivedEffectOptions CreateTemplate(string id, string tname, IServiceProvider sp)

Parameters

id string
tname string
sp IServiceProvider

Returns

DerivedEffectOptions

ExtractValueFromResult(Result, Dictionary<string, string>, Filters)

public Result ExtractValueFromResult(Result response, Dictionary<string, string> arguments, Output.Filters stage)

Parameters

response Result
arguments Dictionary<string, string>
stage Output.Filters

Returns

Result

SetAuthenticator(IHttpAuthenticator, Dictionary<string, string>)

public void SetAuthenticator(IHttpAuthenticator authenticator, Dictionary<string, string> secrets)

Parameters

authenticator IHttpAuthenticator
secrets Dictionary<string, string>