private async Task <List <IMonitoringObject> > GetMonitoringObjectsForProcessing(Func <IMonitoringObject, bool> filter) { var now = DateTime.UtcNow; Func <IMonitoringObject, bool> decoratedFilter = (@object) => !(@object.SkipCheckUntil > now) && filter(@object); var allMonitoringObjects = await _monitoringService.GetCurrentSnapshotAsync(); var filteredObjects = allMonitoringObjects.Where(@object => decoratedFilter(@object)); return(filteredObjects.ToList()); }
public async Task <ListDataMonitoringObjectModel> Get() { var snapshot = await _monitoringService.GetCurrentSnapshotAsync(); var model = snapshot .Select(x => new MonitoringObjectModel { ServiceName = x.ServiceName, Version = x.Version, LastPing = x.LastTime, SkipUntil = x.SkipCheckUntil, Url = x.Url }) .ToList(); return(new ListDataMonitoringObjectModel { Data = model }); }