Table of Contents

Class EffectBase

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

Properties

AtMostOnce

public virtual bool AtMostOnce { get; }

Property Value

bool

Description

public abstract string Description { get; }

Property Value

string

Id

Id of the effect

[JsonIgnore]
public abstract 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

LocalParameters

Parameters that will be set by the effect when running. These will be provided by the effect implementation when the effect runs.

public virtual string[] LocalParameters { get; }

Property Value

string[]

Remarks

These are useful for effects with multi-step implementation, e.g., first a GET gets a list of ids, then for each such id, a POST is executed. In the parameter for the URL of those posts, a "local parameter" $(ID) can be used to contain the id the current POST is executing for.

RequiredParameters

Parameters required to be set

public virtual string[] RequiredParameters { get; }

Property Value

string[]

Remarks

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

ShouldRunActivityDidExecute

public virtual bool ShouldRunActivityDidExecute { get; }

Property Value

bool

ShouldRunActivityWillExecute

public virtual bool ShouldRunActivityWillExecute { get; }

Property Value

bool

Methods

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

public virtual 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 virtual 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.

GetIntParameter(Dictionary<string, string>, string)

public static int? GetIntParameter(Dictionary<string, string> parameters, string key)

Parameters

parameters Dictionary<string, string>
key string

Returns

int?

SetSecrets(Dictionary<string, string>)

public virtual void SetSecrets(Dictionary<string, string> secrets)

Parameters

secrets Dictionary<string, string>