Skip to content

Commit

Permalink
refactor: Refined action state
Browse files Browse the repository at this point in the history
  • Loading branch information
thygesteffensen committed Mar 3, 2021
1 parent 6af5084 commit b3c54d5
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 3 deletions.
3 changes: 2 additions & 1 deletion PowerAutomateMockUp/FlowParser/ActionState.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#nullable enable
using System.Collections.Generic;
using Newtonsoft.Json.Linq;
using Parser.ExpressionParser;
using Parser.FlowParser.ActionExecutors;

Expand All @@ -24,7 +25,7 @@ public class ActionState
public ActionResult? ActionOutput { get; set; }
#nullable disable
public string ActionName { get; set; }
public string ActionType { get; set; }
public int ActionOrder { get; set; }
public JToken ActionInputJson { get; set; }
}
}
8 changes: 6 additions & 2 deletions PowerAutomateMockUp/FlowParser/FlowRunner.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ public class FlowRunner : IFlowRunner
private readonly IScopeDepthManager _scopeManager;
private readonly IActionExecutorFactory _actionExecutorFactory;
private readonly ILogger<FlowRunner> _logger;
private readonly IExpressionEngine _expressionEngine;
private readonly Dictionary<string, ActionState> _actionSates;
private int _actionsExecuted;
private JProperty _trigger;
Expand All @@ -35,14 +36,16 @@ public FlowRunner(
IScopeDepthManager scopeDepthManager,
IOptions<FlowSettings> flowRunnerSettings,
IActionExecutorFactory actionExecutorFactory,
ILogger<FlowRunner> logger)
ILogger<FlowRunner> logger,
IExpressionEngine expressionEngine)
{
_state = state ?? throw new ArgumentNullException(nameof(state));
_scopeManager = scopeDepthManager;
_flowRunnerSettings = flowRunnerSettings?.Value;
_actionExecutorFactory =
actionExecutorFactory ?? throw new ArgumentNullException(nameof(actionExecutorFactory));
_logger = logger ?? throw new ArgumentNullException(nameof(logger));
_expressionEngine = expressionEngine ?? throw new ArgumentNullException(nameof(expressionEngine));
_actionSates = new Dictionary<string, ActionState>();
_actionsExecuted = 0;
}
Expand Down Expand Up @@ -118,8 +121,9 @@ private async Task RunFlow()

_actionSates[currentAd.Name] = new ActionState
{
ActionInputJson = jsonInputs,
ActionInput = actionExecutor?.Inputs ??
(jsonInputs == null ? null : new ValueContainer(jsonInputs)),
(jsonInputs == null ? null : new ValueContainer(jsonInputs, _expressionEngine)),
ActionOutput = actionResult,
ActionOrder = _actionsExecuted++,
ActionName = actionExecutor?.ActionName
Expand Down

0 comments on commit b3c54d5

Please sign in to comment.