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(); } }
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); }