public UserStatsDataModel(IPreferenceSet prefs, IXmlStatsDataContainer dataContainer) { _updateTimer = new System.Timers.Timer(); _updateTimer.Elapsed += UpdateTimerElapsed; _prefs = prefs; _prefs.PreferenceChanged += (s, e) => { if (e.Preference == Preference.EnableUserStats) { ControlsVisible = _prefs.Get <bool>(Preference.EnableUserStats); if (ControlsVisible) { _dataContainer.GetEocXmlData(false); StartTimer(); } else { StopTimer(); } } }; _dataContainer = dataContainer; _dataContainer.XmlStatsDataChanged += delegate { AutoMapper.Mapper.Map(_dataContainer.XmlStatsData, this); OnPropertyChanged(null); }; // apply data container to the model ControlsVisible = _prefs.Get <bool>(Preference.EnableUserStats); if (ControlsVisible) { DateTime nextUpdateTime = _dataContainer.GetNextUpdateTime(); if (nextUpdateTime < DateTime.UtcNow) { _dataContainer.GetEocXmlData(false); } StartTimer(); } AutoMapper.Mapper.Map(_dataContainer.XmlStatsData, this); }
public UserStatsDataModel(IPreferenceSet prefs, IXmlStatsDataContainer dataContainer) { _updateTimer = new System.Timers.Timer(); _updateTimer.Elapsed += UpdateTimerElapsed; _prefs = prefs; _prefs.PreferenceChanged += (s, e) => { if (e.Preference == Preference.EnableUserStats) { ControlsVisible = _prefs.Get<bool>(Preference.EnableUserStats); if (ControlsVisible) { _dataContainer.GetEocXmlData(false); StartTimer(); } else { StopTimer(); } } }; _dataContainer = dataContainer; _dataContainer.XmlStatsDataChanged += delegate { AutoMapper.Mapper.Map(_dataContainer.XmlStatsData, this); OnPropertyChanged(null); }; // apply data container to the model ControlsVisible = _prefs.Get<bool>(Preference.EnableUserStats); if (ControlsVisible) { DateTime nextUpdateTime = _dataContainer.GetNextUpdateTime(); if (nextUpdateTime < DateTime.UtcNow) { _dataContainer.GetEocXmlData(false); } StartTimer(); } AutoMapper.Mapper.Map(_dataContainer.XmlStatsData, this); }