Пример #1
0
 /// <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));
 }
Пример #2
0
        /// <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
                       ));
        }