コード例 #1
0
        public HomeTeamAwayTeamSog GetHomeTeamAwayTeamSog(string liveFeedId)
        {
            var urlInfo = "https://statsapi.web.nhl.com/api/v1/game/" + liveFeedId + "/linescore";

            Uri address = new Uri(urlInfo);

            ServicePointManager.Expect100Continue = true;
            ServicePointManager.SecurityProtocol  = SecurityProtocolType.Tls
                                                    | SecurityProtocolType.Tls11
                                                    | SecurityProtocolType.Tls12
                                                    | SecurityProtocolType.Ssl3;

            // Create the web request
            HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest;

            // Set type to POST
            request.Method      = "GET";
            request.ContentType = "text/xml";

            using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
            {
                // Get the response stream
                StreamReader reader = new StreamReader(response.GetResponseStream());

                // Console application output
                string strOutputJson = FormatJson(reader.ReadToEnd());
                strOutputJson.Trim('{');
                strOutputJson.Trim('}');

                var data = JsonConvert.DeserializeObject <HomeTeamAwayTeamLinescore.Rootobject>(strOutputJson);

                HomeTeamAwayTeamSog htatSog = new HomeTeamAwayTeamSog();
                htatSog.AwayTeamSog = data.teams.away.shotsOnGoal.ToString();
                htatSog.HomeTeamSog = data.teams.home.shotsOnGoal.ToString();
                return(htatSog);
            }
        }
コード例 #2
0
        public string GetAvsScheduleInfo()
        {
            string      AvsInfoUrl = "https://statsapi.web.nhl.com/api/v1/teams/21?expand=team.schedule.next";
            DateTime    nextGameDate;
            AvsGameInfo avsGameInfo     = new AvsGameInfo();
            var         homeTeamLogoUrl = string.Empty;
            var         awayTeamLogoUrl = string.Empty;
            var         homeTeamId      = 0;
            var         awayTeamId      = 0;
            var         awayTeamScore   = string.Empty;
            var         homeTeamScore   = string.Empty;
            var         liveSteamId     = string.Empty;

            Uri address = new Uri(AvsInfoUrl);

            ServicePointManager.Expect100Continue = true;
            ServicePointManager.SecurityProtocol  = SecurityProtocolType.Tls
                                                    | SecurityProtocolType.Tls11
                                                    | SecurityProtocolType.Tls12
                                                    | SecurityProtocolType.Ssl3;

            // Create the web request
            HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest;

            // Set type to POST
            request.Method      = "GET";
            request.ContentType = "text/xml";

            using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
            {
                // Get the response stream
                StreamReader reader = new StreamReader(response.GetResponseStream());

                // Console application output
                string strOutputJson = FormatJson(reader.ReadToEnd());
                strOutputJson.Trim('{');
                strOutputJson.Trim('}');

                var data = JsonConvert.DeserializeObject <AvsScheduleInfo.RootObject>(strOutputJson);
                //Mon Feb 17 2020 20:56:12 GMT-0700 (Mountain Standard Time)

                nextGameDate = data.teams[0].nextGameSchedule.dates[0].games[0].gameDate.ToUniversalTime();
                //nextGameDate = data.teams[0].nextGameSchedule.dates[0].games[0].gameDate.ToString();//.ToLocalTime().ToString("ddd MMM dd yyy HH:mm:ss 'GMT-0700'");
                homeTeamId    = data.teams[0].nextGameSchedule.dates[0].games[0].teams.home.team.id;
                awayTeamId    = data.teams[0].nextGameSchedule.dates[0].games[0].teams.away.team.id;
                homeTeamScore = data.teams[0].nextGameSchedule.dates[0].games[0].teams.home.score.ToString();
                awayTeamScore = data.teams[0].nextGameSchedule.dates[0].games[0].teams.away.score.ToString();
                liveSteamId   = data.teams[0].nextGameSchedule.dates[0].games[0].gamePk.ToString();
            }

            NhlLogos.Rootobject nhlLogo = getTeamLogoUrl();
            homeTeamLogoUrl = nhlLogo.data.Where(x => x.mostRecentTeamId == homeTeamId).FirstOrDefault().teams[0].logos.LastOrDefault().secureUrl;
            awayTeamLogoUrl = nhlLogo.data.Where(x => x.mostRecentTeamId == awayTeamId).FirstOrDefault().teams[0].logos.LastOrDefault().secureUrl;

            HomeTeamAwayTeamSog htatSog = GetHomeTeamAwayTeamSog(liveSteamId);



            avsGameInfo.GameTimeStart = nextGameDate;
            avsGameInfo.AwayLogoUrl   = awayTeamLogoUrl;
            avsGameInfo.HomeLogoUrl   = homeTeamLogoUrl;
            avsGameInfo.HomeScore     = homeTeamScore;
            avsGameInfo.AwayScore     = awayTeamScore;
            avsGameInfo.AwaySog       = htatSog.AwayTeamSog;
            avsGameInfo.HomeSog       = htatSog.HomeTeamSog;

            return(JsonConvert.SerializeObject(avsGameInfo));
        }