public async Task <RosterSearchResultViewModel> GetRosterBySeason(string league, int season, int teamId) { string jsonData = await this.GetRosterBySeasonJsonAsync(season, teamId); GetRosterBySeasonDTO getRosterBySeasonDTO = GetRosterBySeasonDTO.FromJson(jsonData); return(await GetRosterBySeasonViewModelFromDTO(league, season, teamId, getRosterBySeasonDTO)); }
private static async Task <RosterSearchResultViewModel> GetRosterBySeasonViewModelFromDTO(string league, int season, int teamId, GetRosterBySeasonDTO dto) { RosterSearchResultViewModel returnVal = new RosterSearchResultViewModel { Id = teamId, Season = season }; if (dto != null && dto.roster_team_alltime != null && dto.roster_team_alltime.queryResults != null && dto.roster_team_alltime.queryResults.row != null && dto.roster_team_alltime.queryResults.row.Any()) { returnVal.Hitters = new List <HitterPlayerSeasonViewModel>(); returnVal.Pitchers = new List <PitcherPlayerSeasonViewModel>(); PlayerApplicationService playerService = new PlayerApplicationService(); foreach (var rosterPlayerResult in dto.roster_team_alltime.queryResults.row) { var playerVm = new PlayerViewModel { Id = Convert.ToInt32(rosterPlayerResult.player_id), Bats = rosterPlayerResult.bats, Throws = rosterPlayerResult.throws, PlayerName = rosterPlayerResult.name_first_last, DOB = rosterPlayerResult.birth_date, Position = rosterPlayerResult.primary_position, // NickName = rosterPlayerResult.name_sort // Weight = Convert.ToInt32(rosterPlayerResult.weight), // Height = Convert.ToDecimal(rosterPlayerResult.height_feet + "." + rosterPlayerResult.height_inches) }; //if (season > 1995) //{ // var imageSearchResult = playerService.GetPlayerImage(playerVm.PlayerName); // if (imageSearchResult != null) // { // playerVm.PlayerImageURL = imageSearchResult.ImageURL;// HttpUtility.UrlDecode(); // } // else // { // if (rosterPlayerResult.primary_position.ToLower().Trim().Contains("p")) // playerVm.PlayerImageURL = "../assets/images/emptyPitcherIcon.png"; // else // playerVm.PlayerImageURL = "../assets/images/emptyHitterIcon.png"; // } //} //else //{ // if (rosterPlayerResult.primary_position.ToLower().Trim().Contains("p")) // playerVm.PlayerImageURL = "../assets/images/emptyPitcherIcon.png"; // else // playerVm.PlayerImageURL = "../assets/images/emptyHitterIcon.png"; //} playerVm.PlayerImageURL = "https://securea.mlb.com/mlb/images/players/head_shot/" + playerVm.Id + ".jpg"; if (rosterPlayerResult.primary_position.ToLower().Trim().Contains("p")) { var playerSeasonVm = playerService.GetPlayerSeasonPitchingStats(season, playerVm.Id, league, "R"); if (playerSeasonVm != null) { playerSeasonVm.GameType = "R"; playerSeasonVm.LeagueType = league; playerSeasonVm.Player = playerVm; playerSeasonVm.Season = season; returnVal.Pitchers.Add(playerSeasonVm); } } else { HitterPlayerSeasonViewModel playerSeasonVm; if (season == DateTime.Today.Year) { playerSeasonVm = playerService.GetPlayerProjectedSeasonHittingStats(season, playerVm.Id, league); } else { playerSeasonVm = playerService.GetPlayerSeasonHittingStats(season, playerVm.Id, league, "R"); } if (playerSeasonVm != null) { playerSeasonVm.GameType = "R"; playerSeasonVm.LeagueType = league; playerSeasonVm.Player = playerVm; playerSeasonVm.Season = season; returnVal.Hitters.Add(playerSeasonVm); } } } if (playerService.HasChanges) { PlayerApplicationService.WriteChangesToFile(); } } return(returnVal); }