private async Task UpdateFractionStatistic(string fractionName)
        {
            Fraction fraction = await GetOrCreateFraction(fractionName);

            var timeStamp = DateTime.Now;
            var yesterday = timeStamp.AddDays(-1);
            var wins      = await _db.Fractions.Include(b => b.PlayedMatches).ThenInclude(m => m.Match)
                            .Where(f => f.Name == fractionName)
                            .SelectMany(b => b.PlayedMatches.Where(m => m.Match.Date > yesterday))
                            .CountAsync(m => m.Team == m.Match.Winner);

            var count = await _db.Fractions.Include(b => b.PlayedMatches).ThenInclude(m => m.Match)
                        .Where(f => f.Name == fractionName)
                        .SelectMany(b => b.PlayedMatches.Where(m => m.Match.Date > yesterday))
                        .CountAsync();

            var pickRate = await _db.Matches.Include(m => m.PlayerData)
                           .Where(m => m.Date > yesterday)
                           .AverageAsync(m => m.PlayerData.Count(p => p.FractionName == fractionName));

            FractionStatistic statistic = new FractionStatistic()
            {
                TimeStamp    = timeStamp,
                Fraction     = fraction,
                FractionName = fractionName,
                WonGames     = wins,
                LostGames    = count - wins,
                PickRate     = (float)pickRate
            };

            _db.Update(fraction);
            _db.FractionStatistics.Add(statistic);
        }
        public async Task OnGetAsync(string builder)
        {
            BuilderName = builder ?? "";
            Builder     = await _db.Fractions.Include(b => b.Units)
                          .ThenInclude(u => u.Abilities)
                          .ThenInclude(a => a.Ability)
                          .Include(b => b.Units)
                          .ThenInclude(u => u.SpawnAbility)
                          .Include(b => b.Units)
                          .ThenInclude(u => u.Statistics)
                          .Include(b => b.Statistics)
                          .SingleOrDefaultAsync(f => f.Name == BuilderName);

            if (Builder != null)
            {
                Statistic = Builder.CurrentStatistic;
            }
        }