示例#1
0
 //TODO : Should be calculated directly...
 public void PopulateYears()
 {
     //Get all Years when everything is loaded
     Years.Add(ALL_YEARS);
     foreach (var year in AllPlays.GroupBy(p => p.Date.Year).Select(p => p.Key))
     {
         Years.Add(year.ToString());
     }
 }
示例#2
0
 public void LoadPlays(XmlDocument xmlPlays)
 {
     foreach (XmlNode play in xmlPlays.SelectNodes("//plays/play"))
     {
         //Not optimal but not a big performance issue..
         for (int i = 0; i < Int32.Parse(play.TextAttribute("quantity")); i++)
         {
             AllPlays.Add(LoadPlay(play));
             Plays.id++;
         }
     }
     TotalPlays = AllPlaysByYear.Count;
 }
示例#3
0
        public ObservableCollection <KeyValuePair <string, int> > GetGamesByDateRange(DateRange dateRange, string year = ALL_YEARS)
        {
            _gamesByDateRange.Clear();

            switch (dateRange)
            {
            case DateRange.Month:
                List <string> allYears;
                if (year == ALL_YEARS)
                {
                    allYears = Years.OrderBy(y => y).Take(Years.Count - 1).ToList();
                }
                else
                {
                    allYears = new List <string>()
                    {
                        year
                    }
                };

                foreach (var currentYear in allYears)
                {
                    for (int month = 1; month <= 12; month++)
                    {
                        _gamesByDateRange.AddOrUpdate(String.Concat(month, " ", currentYear), AllPlays.Count(p => (p.Date.Year.Equals(Int32.Parse(currentYear)) && p.Date.Month.Equals(month))));
                    }
                }
                break;

            case DateRange.Year:
                foreach (var currentYear in Years.OrderBy(y => y).Take(Years.Count - 1))
                {
                    _gamesByDateRange.AddOrUpdate(currentYear, AllPlays.Count(p => p.Date.Year.Equals(Int32.Parse(currentYear))));
                }
                break;

            default:
                break;
            }
            return(_gamesByDateRange);
        }