Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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();
            }
        }