/// <summary> /// Construit une instance à partir d'une instance de <see cref="Services.AtpRanking"/>. Dédiée au classement ATP. /// </summary> /// <param name="innerRanking">L'instance de base.</param> /// <param name="previousInnerRankingList">Le classement à l'échéance précédente.</param> /// <param name="defaultRanking">Le classement par défaut.</param> /// <returns>Une instance de <see cref="LiveRanking"/>.</returns> public static LiveRanking BuildFromAtp(Services.AtpRanking innerRanking, IEnumerable <Services.AtpRanking> previousInnerRankingList, uint defaultRanking) { return(new LiveRanking( innerRanking.Player.Name, innerRanking.RollingPoints, innerRanking.RollingRank, previousInnerRankingList.FirstOrDefault(_ => _.Player == innerRanking.Player)?.RollingRank ?? defaultRanking)); }
/// <summary> /// Construit une instance à partir d'une instance de <see cref="Services.AtpRanking"/>. Dédiée au classement ELO. /// </summary> /// <param name="innerRanking">L'instance de base.</param> /// <param name="indexOfInInnerList"></param> /// <param name="previousInnerRankingList">Le classement à l'échéance précédente.</param> /// <param name="defaultRanking">Le classement par défaut.</param> /// <returns>Une instance de <see cref="LiveRanking"/>.</returns> public static LiveRanking BuildFromElo(Services.AtpRanking innerRanking, int indexOfInInnerList, List <Services.AtpRanking> previousInnerRankingList, uint defaultRanking) { uint previousRank = defaultRanking; if (previousInnerRankingList.Any(_ => _.Player.ID == innerRanking.Player.ID)) { previousRank = (uint)previousInnerRankingList.IndexOf(previousInnerRankingList.First(_ => _.Player.ID == innerRanking.Player.ID)) + 1; } return(new LiveRanking( innerRanking.Player.Name, innerRanking.Elo, (uint)(indexOfInInnerList + 1), previousRank )); }