public async Task StartMonitoring(StartMonitoringModel startMonitoringModel) { var newId = _idGenerator.Generate(); await _siteStorage.AddSiteInfo(newId, startMonitoringModel.Uri, startMonitoringModel.RefreshTimeInSeconds); await _trackingTimer.Start(newId, startMonitoringModel.Uri, startMonitoringModel.RefreshTimeInSeconds); await _clientNotifier.UpdateSitesInfo(); }
public async Task Execute(Guid siteId, Uri siteUri) { var status = await _siteStatusChecker.GetStatus(siteUri); var newSiteStatus = status == StatusCheckResult.Success ? SiteStatus.Online : SiteStatus.Offline; var siteInfo = await _siteStorage.GetSiteInfo(siteId); if (siteInfo.Status != newSiteStatus) { await _siteStorage.UpdateStatus(siteId, newSiteStatus); await _clientNotifier.UpdateSitesInfo(); } }