private WardenStatsDto GetWardenStats(IList <WardenIteration> iterations) { var wardenStats = _statsCalculator.Calculate(iterations); var stats = new WardenStatsDto { TotalUptime = wardenStats.TotalUptime, TotalDowntime = wardenStats.TotalDowntime, TotalIterations = wardenStats.TotalResults, TotalValidIterations = wardenStats.TotalValidResults, TotalInvalidIterations = wardenStats.TotalInvalidResults }; var watcherCheckResults = iterations.SelectMany(x => x.Results) .Select(x => x.WatcherCheckResult) .GroupBy(x => x.Watcher.Name, x => x) .ToList(); stats.Watchers = (from watcherGroup in watcherCheckResults let watcher = watcherGroup.First().Watcher let watcherStats = _statsCalculator.Calculate(watcherGroup) select new WatcherStatsDto { Name = watcher.Name, Type = watcher.Type.ToString().ToLowerInvariant(), TotalUptime = watcherStats.TotalUptime, TotalDowntime = watcherStats.TotalDowntime, TotalChecks = watcherStats.TotalResults, TotalValidChecks = watcherStats.TotalValidResults, TotalInvalidChecks = watcherStats.TotalInvalidResults, }) .OrderBy(x => x.Type); return(stats); }
private WardenStatsDto GetWardenStats(IList<WardenIteration> iterations) { var wardenStats = _statsCalculator.Calculate(iterations); var stats = new WardenStatsDto { TotalUptime = wardenStats.TotalUptime, TotalDowntime = wardenStats.TotalDowntime, TotalIterations = wardenStats.TotalResults, TotalValidIterations = wardenStats.TotalValidResults, TotalInvalidIterations = wardenStats.TotalInvalidResults }; var watcherCheckResults = iterations.SelectMany(x => x.Results) .Select(x => x.WatcherCheckResult) .GroupBy(x => x.Watcher.Name, x => x) .ToList(); stats.Watchers = (from watcherGroup in watcherCheckResults let watcher = watcherGroup.First().Watcher let watcherStats = _statsCalculator.Calculate(watcherGroup) select new WatcherStatsDto { Name = watcher.Name, Type = watcher.Type.ToString().ToLowerInvariant(), TotalUptime = watcherStats.TotalUptime, TotalDowntime = watcherStats.TotalDowntime, TotalChecks = watcherStats.TotalResults, TotalValidChecks = watcherStats.TotalValidResults, TotalInvalidChecks = watcherStats.TotalInvalidResults, }) .OrderBy(x => x.Type); return stats; }