public static async Task AddPlayerRanking(Player returnedPlayer, IRankingRepository rankingRepository, IPlayerRepository playerRepository) { if (await rankingRepository.GetByPlayerIdAsync(returnedPlayer.PlayerId) != null) { PlayerRanking playerRankingToDelete = await rankingRepository.GetByPlayerIdAsync(returnedPlayer.PlayerId); await rankingRepository.DeleteAsync(playerRankingToDelete); Console.Write("Previous Ranking Deleted"); } PlayerRanking playerRankingToAdd = new PlayerRanking(); playerRankingToAdd.PlayerId = returnedPlayer.PlayerId; IEnumerable <PlayerRanking> allPlayerRanks = await rankingRepository.ListAllAsync(); IEnumerable <Player> allPlayers = await playerRepository.ListAllAsync(); if (allPlayerRanks.Count() > 0) { var highestRankedPlayer = allPlayerRanks.Max(x => x.PlayerRank); var highestPprPlayer = allPlayerRanks.Max(x => x.PprRank); var highestDynastyPlayer = allPlayerRanks.Max(x => x.DynastyRank); playerRankingToAdd.PlayerRank = highestRankedPlayer + 1; playerRankingToAdd.PprRank = highestPprPlayer + 1; playerRankingToAdd.DynastyRank = highestDynastyPlayer + 1; CalculatePlayerRanking(returnedPlayer, allPlayerRanks, allPlayers, playerRankingToAdd); } else { playerRankingToAdd.PlayerRank = 1; playerRankingToAdd.PosRank = 1; playerRankingToAdd.PprRank = 1; playerRankingToAdd.PprPosRank = 1; playerRankingToAdd.DynastyRank = 1; playerRankingToAdd.DynastyPosRank = 1; } playerRankingToAdd.TestUserProfileId = 2025; playerRankingToAdd.isDefault = true; await rankingRepository.AddAsync(playerRankingToAdd); }