public MonitorLogsController(UserManager <ApplicationUser> userManager, IMonitorsRepository monitorsRepository, IMonitorLogsRepository monitorLogsRepository, ILogger <MonitorsController> logger) : base(userManager, logger) { _monitorsRepository = monitorsRepository; _monitorLogsRepository = monitorLogsRepository; }
public static async Task Run(IMonitorsRepository monitorsRepository, IMonitorLogsRepository monitorLogsRepository, IMonitoringService monitoringService, IPushNotificationService pushNotificationService, IPushNotificationTokensRepository pushNotificationTokensRepository) { await monitoringService.Monitor(null, monitorsRepository, monitorLogsRepository); var applicationUserMonitors = monitoringService.GetFailedMonitors(); await pushNotificationService.SendPushNotifications(applicationUserMonitors, pushNotificationTokensRepository); }
public async Task <List <MonitorLog> > Monitor(IEnumerable <Monitor> sitesToMonitor, IMonitorsRepository monitorsRepository, IMonitorLogsRepository monitorLogsRepository) { if (sitesToMonitor == null) { sitesToMonitor = await monitorsRepository.GetAllActiveMonitors(); } var httpMonitors = sitesToMonitor.Where (monitor => monitor.Type == MonitorTypeEnum.HTTP) .ToList(); var keyWordMonitors = sitesToMonitor.Where (monitor => monitor.Type == MonitorTypeEnum.KEYWORD) .ToList(); var pingMonitors = sitesToMonitor.Where (monitor => monitor.Type == MonitorTypeEnum.PING) .ToList(); //var portMonitors // = sitesToMonitor.Where // (monitor => monitor.Type == MonitorTypeEnum.PORT) // .ToList(); await HttpMonitor(httpMonitors); await KeyWordMonitor(keyWordMonitors); //TODO refactor and run this asynchronously.. PingMonitor(pingMonitors); await monitorsRepository.UpdateMonitors(_processedMonitors); await monitorLogsRepository.SaveMonitorLogs(_monitorLogs); return(_monitorLogs); }