Skip to content

Instantly share code, notes, and snippets.

@BrianMRO
Created March 2, 2022 22:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save BrianMRO/79063e1522705ba011e92d11ad954341 to your computer and use it in GitHub Desktop.
Save BrianMRO/79063e1522705ba011e92d11ad954341 to your computer and use it in GitHub Desktop.
Workflow - Conditions on Transitions
.WithTransitions(transitions =>
{
transitions.AddGroupFrom(State.InitialState, ts =>
{
ts.Add(t => t
.To<State.hold>()
.IsTriggeredOn(g => g.initializeState)
.When(conditions.IsOnHold)); // CONDITION!!!
});
transitions.Add(transition => transition
.From<State.hold>()
.To<State.open>()
.IsTriggeredOn(removeHold)
.WithFieldAssignments(fas => fas.Add<hold>(false))
);
transitions.Add(transition => transition
.From<State.open>()
.To<State.hold>()
.IsTriggeredOn(putOnHold)
.WithFieldAssignments(fas => fas.Add<hold>(true))
);
transitions.Add(transition => transition
.From<State.open>()
.To<State.complete>()
.IsTriggeredOn(complete)
.When(conditions.IsScheduled)); // CONDITION!!!
transitions.Add(transition => transition
.From<State.complete>()
.To<State.open>()
.IsTriggeredOn(reopen));
}));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment