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