public ActionResult Index() { //Run All, All in Group, or individual //Also, load last runs from DDS and show MainModel mm = new MainModel(); mm.HealthChecks = new List <HealthCheckAndResult>(); foreach (var hc in healthService.HealthChecks) { HealthCheckAndResult hr = new HealthCheckAndResult(); hr.HealthCheck = hc; hr.LastResult = healthService.GetLatestResultFrom(hc); mm.HealthChecks.Add(hr); } mm.TotalChecks = mm.HealthChecks.Count; mm.ChecksNotRun = mm.HealthChecks.Where(hc => hc.LastResult == null).Count(); mm.ChecksNotOK = mm.HealthChecks.Where(hc => hc.LastResult != null && hc.LastResult.Status != Checks.HealthStatusType.OK).Count(); mm.Errors = mm.HealthChecks.Where(hc => hc.LastResult != null && hc.LastResult.Status == Checks.HealthStatusType.Fault).Count(); //Details view shows when a check has been run, and what it has returned. return(View(mm)); }