/// <summary>
 /// Gets the data set for a particular date.
 /// </summary>
 /// <param name="date">The date.</param>
 /// <returns></returns>
 public DataLogModel GetDataSet(DateTime date)
 {
     DataLogModel data = new DataLogModel();
     string fileName = Path.Combine(GetDataDirectory(), date.ToString("yyyy-MM-dd") + ".dsx");
     if (File.Exists(fileName))
     {
         data.ReadXml(fileName, System.Data.XmlReadMode.IgnoreSchema);
         foreach (var row in data.Impacts.Where(row => row.Timestamp.Date != date).ToList()) data.Impacts.RemoveImpactsRow(row);
         foreach (var row in data.Scores.Where(row => row.Timestamp.Date != date).ToList()) data.Scores.RemoveScoresRow(row);
         data.AcceptChanges();
     }
     return data;
 }
 /// <summary>
 /// Loads the data set.
 /// </summary>
 private void LoadDataSet()
 {
     try
     {
         string fileName = Path.Combine(CreateDataDirectory(), GetDataSetFileName());
         if (File.Exists(fileName))
         {
             _dataLog.ReadXml(fileName, XmlReadMode.IgnoreSchema);
         }
     }
     catch (IOException ex)
     {
         _logger.Log(ex.GetBaseException().ToString(), Category.Exception, Priority.High);
         //FIXME: Need to handle this exception with a user notification
     }
 }
        /// <summary>
        /// Gets the data set for a particular date.
        /// </summary>
        /// <param name="date">The date.</param>
        /// <returns></returns>
        public DataLogModel GetDataSet(DateTime date)
        {
            DataLogModel data     = new DataLogModel();
            string       fileName = Path.Combine(GetDataDirectory(), date.ToString("yyyy-MM-dd") + ".dsx");

            if (File.Exists(fileName))
            {
                data.ReadXml(fileName, System.Data.XmlReadMode.IgnoreSchema);
                foreach (var row in data.Impacts.Where(row => row.Timestamp.Date != date).ToList())
                {
                    data.Impacts.RemoveImpactsRow(row);
                }
                foreach (var row in data.Scores.Where(row => row.Timestamp.Date != date).ToList())
                {
                    data.Scores.RemoveScoresRow(row);
                }
                data.AcceptChanges();
            }
            return(data);
        }
 /// <summary>
 /// Loads the data set.
 /// </summary>
 private void LoadDataSet()
 {
     try
     {
         string fileName = Path.Combine(CreateDataDirectory(), GetDataSetFileName());
         if (File.Exists(fileName))
         {
             GameDataLog.ReadXml(fileName, XmlReadMode.IgnoreSchema);
         }
     }
     catch (IOException ex)
     {
         Logger.Log(ex.GetBaseException().ToString(), Category.Exception, Priority.High);
         EventAggregator.GetEvent <ApplicationEvents.NotifyUserEvent>().Publish(new ApplicationEvents.NotifyUserEvent()
         {
             Message = "Trying to read game data. " + ex.GetBaseException().Message,
             Buttons = System.Windows.MessageBoxButton.OK,
             Image   = System.Windows.MessageBoxImage.Error
         });
     }
 }