Example #1
0
        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));
        }
Example #2
0
        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);
        }