public IActionResult CalculateWins(int id) { List <MatchupWinner> matchupWinnerList = new List <MatchupWinner>(); string week = HttpDataHelper.Get_Current_Week(); int scoreCount = 0; var player = _context.Players.Where(p => p.Id == id).FirstOrDefault(); List <string> winners = ScoresDataHelper.Get_Matchup_Winners("1"); var picks = _context.PlayerPicks.Where(p => p.PlayerId == id && p.Week == "1").FirstOrDefault(); string[] playerPicks = new string[] { picks.Pick1, picks.Pick2, picks.Pick3, picks.Pick4, picks.Pick5, picks.Pick6, picks.Pick7, picks.Pick8, picks.Pick9, picks.Pick10, picks.Pick11, picks.Pick12, picks.Pick13, picks.Pick14, picks.Pick15, picks.Pick16 }; int index = 0; foreach (var pick in playerPicks) { string winner = winners[index].Trim(); if (winner.Equals(pick.Trim())) { matchupWinnerList.Add(new MatchupWinner(player.Username, winner, pick, true, week)); scoreCount++; } else { matchupWinnerList.Add(new MatchupWinner(player.Username, winner, pick, false, week)); } index++; } ViewBag.scorecount = scoreCount; return(View(matchupWinnerList)); }
//Calculate All Player Wins public IActionResult CalculateAllPlayerWins() { var players = _context.Players.ToList(); List <PlayerWins> playerWinsList = new List <PlayerWins>(); List <PlayerWins> newPlayerWinList = new List <PlayerWins>(); List <PlayerWins> tieList = new List <PlayerWins>(); int totalPoints = MatchupDataHelper.Get_Tie_Breaker_Points(); foreach (var player in players) { int winCount = 0; var playerPicks = _context.Pick.Where(p => p.PlayerId == player.PlayerId && p.Week == week).ToList(); var winList = MatchupDataHelper.CalculateAllWins(playerPicks).ToList(); foreach (var item in winList) { if (item.Win.Equals("YES")) { winCount++; } } playerWinsList.Add(new PlayerWins(player.Name, player.Company, winCount)); newPlayerWinList = playerWinsList.OrderByDescending(p => p.WinCount) .ThenBy(p => p.Name) .ToList(); //check to see if there is a tie bool tieResult = ScoresDataHelper.isTie(newPlayerWinList); //if tieResult = true then we need to collect all the players with the same amount of wins if (tieResult) { tieList = ScoresDataHelper.Get_All_Ties(newPlayerWinList); } } return(View(newPlayerWinList)); }