public async Task <IActionResult> Get()
        {
            using (var client = new HttpClient())
            {
                try
                {
                    var url = $"{Constants.RestLinks.Base}{Constants.RestLinks.Player}";

                    var response = await client.GetAsync(url);

                    response.EnsureSuccessStatusCode();

                    var jsonPlayers = JsonPlayers.Get(await response.Content.ReadAsStringAsync());

                    var salaryUrl      = $"{Constants.HockeyReferenceLinks.Base}{Constants.HockeyReferenceLinks.Salaries}";
                    var salaryResponse = await client.GetStringAsync(salaryUrl);

                    JsonPlayers.FillSalaries(salaryResponse, jsonPlayers);

                    return(Ok(_mapper.Map <IEnumerable <DTOPlayerSalary> >(jsonPlayers)
                              .Where(x => x.Salary.HasValue && x.GamesPlayed > 30)
                              .OrderBy(x => x.UnitPerPoint)
                              .ToList()));
                }

                catch (Exception e)
                {
                    return(BadRequest(e.Message));
                }
            }
        }
Exemplo n.º 2
0
        public IEnumerable <DTOPlayerSalary> Convert(JsonPlayers source, IEnumerable <DTOPlayerSalary> destination, ResolutionContext context)
        {
            List <DTOPlayerSalary> playerSalaries = new List <DTOPlayerSalary>();

            foreach (var p in source.data)
            {
                playerSalaries.Add(new DTOPlayerSalary()
                {
                    Name             = p.playerName,
                    Salary           = p.salary,
                    Points           = p.points,
                    GamesPlayed      = p.gamesPlayed,
                    GameWinningGoals = p.gameWinningGoals,
                    Assists          = p.assists,
                    Goals            = p.goals,
                    ProfileLink      = LinkBuilder.GetPortraitLink(p.playerId),
                    UnitPerPoint     = p.salary.HasValue ? p.salary / (p.points > 0 ? p.points : 1) : null,
                    UnitPerAssist    = p.salary.HasValue ? p.salary / (p.assists > 0 ? p.assists : 1) : null,
                    UnitPerGoal      = p.salary.HasValue ? p.salary / (p.goals > 0 ? p.goals : 1) : null
                });
            }

            return(playerSalaries);
        }