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); } }
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)); }