private void onTimerCallBack(object state) { if (_refreshTimes % 3600 == 0 || (!_radarControl.IsLinking && _refreshTimes % 10 == 0)) { this.Dispatcher.BeginInvoke(new Action(delegate() { _radarControl.LoadData(_radar); })); } else { var rates = _radarControl.Rates; if (rates != null) { _radar.InitRadarChannelsRate(rates); _radarControl.ResetRadarStatus(_radar); } } _refreshTimes = (_refreshTimes + 1) % RefreshRate; }
public void LoadData(RadarSettingInfo radar) { try { if (_radarInfomation != null) { radar.RadarChannels = _radarInfomation.RadarChannels; radar.InitRadarChannelsRate(_radarInfomation.Rates); radar.RadarStatusBase = _radarInfomation.GetRadarInfo(); radar.RadarRegions = _radarInfomation.RadarRegions; radar.ResetRadarStatus(); IsLinking = true; } } catch (Exception ex) { LogManager.GetLogger(this.GetType()).Warn(ex.ToString()); IsLinking = false; } }