// private const string RAPID_API_GET_TEAMS_BY_SEASON_ENDPOINT_URL = "https://mlb-data.p.rapidapi.com/json/named.team_all_season.bam"; public async Task <List <TeamSearchResultViewModel> > GetTeamsBySeason(string league, int season) { string jsonData = await this.GetTeamsBySeasonJsonAsync(season); GetTeamsBySeasonDTO teamsBySeasonDto = GetTeamsBySeasonDTO.FromJson(jsonData); if (string.IsNullOrEmpty(league)) { league = "mlb"; } return(await GetTeamsBySeasonViewModelFromDTO(league, season, teamsBySeasonDto)); }
private static async Task <List <TeamSearchResultViewModel> > GetTeamsBySeasonViewModelFromDTO(string league, int season, GetTeamsBySeasonDTO teamsBySeasonDto) { List <TeamSearchResultViewModel> returnList = new List <TeamSearchResultViewModel>(); if (teamsBySeasonDto != null && teamsBySeasonDto.team_all_season != null && teamsBySeasonDto.team_all_season.queryResults != null && teamsBySeasonDto.team_all_season.queryResults.row != null) { foreach (TeamSearchResult teamResult in teamsBySeasonDto.team_all_season.queryResults.row) { if (!string.IsNullOrEmpty(teamResult.sport_code) && teamResult.sport_code.ToLower() == league && !string.IsNullOrWhiteSpace(teamResult.venue_name) && teamResult.name_display_full.ToLower() != "to be determined" && teamResult.name_display_full.ToLower() != "office of the commissioner" && !teamResult.name_display_full.ToLower().Contains("all-star") && teamResult.venue_name.ToLower() != "al city" && teamResult.venue_name.ToLower() != "nl city" && teamResult.venue_name.ToLower() != "tbd") { returnList.Add(new TeamSearchResultViewModel { Id = Convert.ToInt32(teamResult.team_id), TeamName = teamResult.name_display_full, League = teamResult.league, Season = season, Ballpark = teamResult.venue_name, Name = teamResult.name, City = teamResult.city, NameAbbrev = teamResult.name_abbrev, LogoUrl = "https://d2p3bygnnzw9w3.cloudfront.net/req/202001161/tlogo/br/" + teamResult.name_abbrev + "-" + season + ".png" }); } else { Debug.WriteLine(teamResult.ToString()); } } } return(returnList.OrderByDescending(x => x.League).ToList()); }