Exemplo n.º 1
0
        public async Task <int[]> GenerateTownStats(DateTime statDate)
        {
            var end   = statDate.AddDays(1);
            var item1 = _townHourPrbRepository.Count(x => x.StatDate >= statDate && x.StatDate < end);

            if (item1 == 0)
            {
                var townList = _prbService.GetTownPrbStats(statDate);
                foreach (var stat in townList.GetDateMergeStats(statDate))
                {
                    await _townHourPrbRepository.InsertAsync(stat);
                }
                item1 = _townHourPrbRepository.SaveChanges();
            }
            var item2 = _townHourUsersRepository.Count(x => x.StatDate >= statDate && x.StatDate < end);

            if (item2 == 0)
            {
                var townList = _usersService.GetTownUsersStats(statDate);
                foreach (var stat in townList.GetDateMergeStats(statDate))
                {
                    await _townHourUsersRepository.InsertAsync(stat);
                }
                item2 = _townHourUsersRepository.SaveChanges();
            }
            return(new [] { item1, item2 });
        }