Example #1
0
        public PingResult(ConcurrentDictionary <DateTime, int> pingData, int prevResponseTime)
        {
            _lastState        = WebSiteState.notChecked;
            _pingData         = pingData;
            _prevResponseTime = prevResponseTime;
            _pingCount        = pingData.Count;
            _isOnlineCount    = pingData.Count(t => t.Value > 0);
            var sumValue = pingData.Values.Sum();

            if (_isOnlineCount > 0)
            {
                _avgResponseTime = sumValue / _isOnlineCount;
            }
        }
Example #2
0
        public static void SavePingResultState(int webSiteId, WebSiteState state)
        {
            var item = GetOrAddPingResult(webSiteId);

            if (state != WebSiteState.notChecked)
            {
                item._pingCount++;
            }
            if (state == WebSiteState.online)
            {
                item._isOnlineCount++;
            }
            item._lastState     = state;
            item._lastCheckDate = DateTime.Now;
        }