Ejemplo n.º 1
0
        public static List <PlayerStatsInfoItem> Sort(List <PlayerStatsInfoItem> players, PlayerSortByTypes type, bool desc)
        {
            switch (type)
            {
            case PlayerSortByTypes.Goal:
                if (desc)
                {
                    return((
                               from list in players
                               orderby list.GoalIds.Count descending
                               select list
                               ).ToList());
                }

                return((
                           from list in players
                           orderby list.GoalIds.Count
                           select list
                           ).ToList());

            case PlayerSortByTypes.Assist:

                if (desc)
                {
                    return((
                               from list in players
                               orderby list.AssistIds.Count descending
                               select list
                               ).ToList());
                }

                return((
                           from list in players
                           orderby list.AssistIds.Count
                           select list
                           ).ToList());

            case PlayerSortByTypes.Redcard:
                if (desc)
                {
                    return((
                               from list in players
                               orderby list.RedCardIds.Count descending
                               select list
                               ).ToList());
                }

                return((
                           from list in players
                           orderby list.RedCardIds.Count
                           select list
                           ).ToList());

            case PlayerSortByTypes.Yellowcard:
                if (desc)
                {
                    return((
                               from list in players
                               orderby list.YellowCardIds.Count descending
                               select list
                               ).ToList());
                }

                return((
                           from list in players
                           orderby list.YellowCardIds.Count
                           select list
                           ).ToList());

            case PlayerSortByTypes.PlayerName:
                if (desc)
                {
                    return((
                               from list in players
                               orderby list.Name.Name descending
                               select list
                               ).ToList());
                }

                return((
                           from list in players
                           orderby list.Name.Name
                           select list
                           ).ToList());

            case PlayerSortByTypes.TeamName:
                if (desc)
                {
                    return((
                               from list in players
                               orderby list.TeamName.Value descending
                               select list
                               ).ToList());
                }

                return((
                           from list in players
                           orderby list.TeamName.Value
                           select list
                           ).ToList());

            default:
                throw new ArgumentOutOfRangeException(nameof(type), type, null);
            }
        }
Ejemplo n.º 2
0
        public static IEnumerable <PlayerStatsInfoItem> Sort(IEnumerable <Team> teams, PlayerSortByTypes type, bool desc)
        {
            var list = (
                from team in teams
                from playerId in team.PlayerIds
                select PersonRepository.GetInstance().FindPlayerById(playerId)
                into player
                select new PlayerStatsInfoItem
            {
                Id = player.Id,
                Name = player.Name,
                PersonalNumber = player.PersonalNumber,
                AssistIds = GetMatchEventsIds(player, MatchEvents.Assist),
                GoalIds = GetMatchEventsIds(player, MatchEvents.Goal),
                YellowCardIds = GetMatchEventsIds(player, MatchEvents.YellowCard),
                RedCardIds = GetMatchEventsIds(player, MatchEvents.RedCard),
                TeamName = TeamRepository.GetInstance().FindTeamByPlayerId(player.Id).Name
            }).ToList();



            return(Sort(list, type, desc));
        }