/// <summary> /// Runs this pipeline giving detailed information as result. /// </summary> /// <param name="input">Input for this run (optional)</param> /// <param name="progress">An action to notify about pipe events (optional)</param> /// <returns>A detailed result of the run</returns> public PipelineResult RunDetailed(object input = null, Action <PipelineEvent> progress = null) { var run = new PipelineDetailedRun(input, _pipeline, progress); run.RunAll(); return(new PipelineResult(run)); }
internal PipelineResult(PipelineDetailedRun current) { Id = current.Pipeline.Id; Output = current.Output; Success = current.Results.All(r => r.Exception == null); ElapsedTime = current.Results.Any() ? current.Results.Last().Ended - current.Results.First().Started : TimeSpan.Zero; Pipes = current.Results.ToArray(); }