using System.Collections.Generic;
public static void Main()
Workflow workflow = new Workflow();
Console.WriteLine(workflow.GetStepStatus());
string[] stepNames = new [] { "Two", "Four" };
workflow.BlockSteps(stepNames);
Console.WriteLine(workflow.GetStepStatus());
private IEnumerable<Step> steps = new List<Step>
public void BlockSteps(string[] stepNames)
foreach(Step step in steps.Where(s => stepNames.Contains(s.Name)))
public string GetStepStatus()
var sb = new StringBuilder();
foreach(Step step in steps)
sb.AppendLine($"{step.Name} {step.IsBlocked}");
public string Name { get; set; }
public Guid Id { get; set; } = Guid.NewGuid();
public bool IsBlocked { get; set; }