示例#1
0
        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));
        }