public PlayerPredictions PlayerSimulator(GamePredictions game, Players player) { List <PlayerStats> fullStats = _getStatMethods.GetFullSeasonStatsWithPlayer(player); List <FullSeason> fullSeason = _getStatMethods.GetFullSeasonList(player.Team); PlayerPredictions stats = new PlayerPredictions(); return(stats); }
public ActionResult Index(int?id) { var tournament = db.Tournaments.SingleOrDefault(x => x.IsActive); if (tournament != null) { id = tournament.Id; } if (id == null) { return(RedirectToAction("List", "Home")); } var userId = User.Identity.GetUserId(); if (userId == null) { return(RedirectToAction("Login", "Account")); } var userGuid = new Guid(userId); var result = new TournamentMain(); result.Tournament = db.Tournaments.Include(t => t.Country).Include(t => t.Matchups).Where(x => x.Id == id).First(); result.Tournament.Matchups = result.Tournament.Matchups.OrderBy(x => x.GameTime).ToList(); var isInTournament = db.PlayerTournaments.Any(x => x.TournamentId == id.Value && x.ApsnetUserId == userGuid); if (!isInTournament) { var playerTournament = new PlayerTournament() { TournamentId = id.Value, ApsnetUserId = userGuid, }; db.PlayerTournaments.Add(playerTournament); foreach (var matchup in result.Tournament.Matchups) { var prediction = new Prediction() { AspNetUserId = userGuid, MatchupId = matchup.Id, }; db.Predictions.Add(prediction); } db.SaveChanges(); } foreach (var matchup in result.Tournament.Matchups) { if (matchup.GameTime > DateTime.UtcNow.AddHours(3).AddMinutes(result.Tournament.MatchupClosingTime)) { matchup.CanVote = true; } } var allCountries = db.Countries.ToList(); var cc = allCountries.Last(); var players = db.PlayerTournaments.Where(x => x.TournamentId == id).ToList(); result.PlayerPredictions = new List <PlayerPredictions>(); foreach (var player in players) { var playerPrediction = new PlayerPredictions(); playerPrediction.Name = db.Users.Find(player.ApsnetUserId.ToString()).UserName; var predictions = db.Predictions.Include(t => t.Matchup).Include(t => t.Matchup.Country).Where(x => x.AspNetUserId == player.ApsnetUserId).OrderBy(x => x.Matchup.GameTime).ToList(); playerPrediction.Predictions = predictions; playerPrediction.Total = predictions.Sum(x => x.PointsEarned ?? 0); playerPrediction.UserId = player.ApsnetUserId; foreach (var prediction in predictions) { if (prediction.Matchup.GameTime > DateTime.UtcNow.AddHours(3).AddMinutes(result.Tournament.MatchupClosingTime) && prediction.AspNetUserId != userGuid) { prediction.EnemyTeamScoreText = GetHiddenScoreText(prediction.EnemyTeamScore); prediction.HomeTeamScoreText = GetHiddenScoreText(prediction.HomeTeamScore); } else { prediction.EnemyTeamScoreText = prediction.EnemyTeamScore?.ToString() ?? "-"; prediction.HomeTeamScoreText = prediction.HomeTeamScore?.ToString() ?? "-"; } } result.PlayerPredictions.Add(playerPrediction); } result.PlayerPredictions = result.PlayerPredictions.OrderByDescending(x => x.UserId == userGuid).ThenByDescending(x => x.Total).ToList(); return(View(result)); }