ECMJobRunner/ECM.JobRunner.Web/Data/DashboardResponse.cs
Jonathan Jenne 1e925242bc 20-12-2022
2022-12-20 15:29:29 +01:00

37 lines
1.1 KiB
C#

using ECM.JobRunner.Common.JobRunnerReference;
namespace ECM.JobRunner.Web.Data
{
public class DashboardResponse
{
public DateTime heartbeat = DateTime.MinValue;
public List<StatusItem> jobStatus = new();
public class JobHistory
{
public List<StatusItem> 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()
};
}
}
}