using ECM.JobRunner.Common.JobRunnerReference; namespace ECM.JobRunner.Web.Data { public class DashboardResponse { public DateTime heartbeat = DateTime.MinValue; public List jobStatus = new(); public class JobHistory { public List items; public int total; public int success; public int failed; public int waiting; } public JobHistory GetHistoryForLastMinutes(int pMinutes) { var items = jobStatus. Where(s => (DateTime.Now - s.CompleteTime) < new TimeSpan(0, pMinutes, 0)). Where(s => s.Executing == false). ToList(); return new JobHistory() { items = items, total = items.Count, success = items.Where(i => i.Successful && i.Waiting == false).Count(), failed = items.Where(i => i.Successful == false).Count(), waiting = items.Where(i => i.Successful && i.Waiting == true).Count() }; } } }