private LadderPlayerMatchResultVM GetLadderResultsFromCompResults(LadderResult ladderResult) { return(new LadderPlayerMatchResultVM() { OpeningRank = ladderResult.StartingRank, ClosingRank = ladderResult.EndingRank, MatchQualifiedForLadder = ladderResult.QualifiesAsLadderChallenge }); }
private LadderResult CalculateLadderRankings(int playerId, int opponentId, bool winner, MonthlyCompetition comp, DateTime matchDate, int playerLadderRank, int opponentLadderRank) { var ladderResults = new LadderResult { StartingRank = playerLadderRank }; var rankDifference = Math.Abs(ladderResults.StartingRank - opponentLadderRank); ladderResults.QualifiesAsLadderChallenge = rankDifference <= comp.MaxChallengePlaces; var playerIsHigherRanked = ladderResults.StartingRank < opponentLadderRank; if (ladderResults.QualifiesAsLadderChallenge && ((!winner && playerIsHigherRanked) || (winner && !playerIsHigherRanked))) { ladderResults.EndingRank = opponentLadderRank; } else { ladderResults.EndingRank = ladderResults.StartingRank; } return(ladderResults); }