public RippleOperation Step(IRippleStep step) { step.Solution = _solution; _steps.Add(step); return(this); }
private void runStep(IRippleStep step, int number, int total) { _logger.Trace(string.Empty); _logger.Trace("{0} / {1} - {2}", number.ToString().PadLeft(3), total.ToString().PadLeft(3), step.ToString()); _logger.Indent(() => { try { step.Execute(_runner); } catch (Exception ex) { var start = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(); Console.WriteLine(ex.ToString()); Console.WriteLine(); Console.ForegroundColor = start; throw; } }); }