Esempio n. 1
0
        public async Task <ActionResult <StatisticsModel> > PostStatToUser(int id, StatisticsModel model)
        {
            try
            {
                var user = await _repository.GetUserById(id);

                if (user == null)
                {
                    return(NotFound("User not found!"));
                }
                var statistics = _mapper.Map <Statistics>(model);
                statistics.User = _mapper.Map <User>(user);
                if (model.Tournament != null)
                {
                    var tournament = await _repository.GetTournamentById(model.Tournament.TournamentId);

                    if (tournament == null)
                    {
                        return(NotFound("Tournament not found!"));
                    }
                    statistics.Tournament = _mapper.Map <Tournament>(tournament);
                }
                _repository.Add(statistics);
                if (await _repository.SaveChangesAsync())
                {
                    var location = _linkGenerator.GetPathByAction(HttpContext,
                                                                  "Get",
                                                                  values: new { id = statistics.StatisticsId });
                    return(Created(location, _mapper.Map <StatisticsModel>(statistics)));
                }
            }
            catch (Exception)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, "Database Failure!"));
            }
            return(BadRequest());
        }
        public void CalculatePlayerStatistics(GameType gameId, List <Player> players)
        {
            if (players.Count > 0)
            {
                // All summary records
                var playerSummaries = _statisticsRepository.GetForPlayers(players.Where(m => m.Scores.Any()).ToList()).
                                      Select(m => m.Value);

                var statistics = CalculateStatisticsHelper(gameId, playerSummaries, players);

                _statisticsRepository.Add(statistics.ToList());

                _statisticsRepository.SaveAll();
            }
        }
Esempio n. 3
0
        public async Task CalculateStatistics(City city)
        {
            var averagePrice = await _offerRepository.GetAveragePriceForCity(city);

            var count = await _offerRepository.GetOffersCountForCity(city);

            var snapshot = new StatisticsSnapshot
            {
                AveragePrice = averagePrice,
                Count        = count,
                DateCreated  = DateTime.UtcNow,
                City         = city
            };
            await _statisticsRepository.Add(snapshot);
        }
        public ActionResult Monitoring(MonitoringValue monitoringValue)
        {
            _statisticsRepository.Add(monitoringValue);

            return(null);
        }