private IEnumerable <string> LastGameHighlights(int team) { List <string> result = new List <string>(); NHLApiClient api = new NHLApiClient(); var lastGame = api.GetLastGame(team); var gameId = lastGame.Dates[0].Games[0].GamePk; var content = api.GetGameContent(gameId); foreach (var highlight in content.Highlights.Scoreboard.Items) { if (highlight.Type != "video") { continue; } var builder = new StringBuilder(); var vid = highlight.Playbacks.Last(); builder.AppendLine(highlight.Title); builder.AppendLine(vid.URL); result.Add(builder.ToString()); } return(result); }
private IEnumerable <string> LastGame(int team) { List <string> result = new List <string>(); NHLApiClient api = new NHLApiClient(); var lastGame = api.GetLastGame(team); var teamData = api.GetTeam(team); if (lastGame == null || lastGame.TotalGames < 1) { result.Add(string.Format("There are currently no previous games the {0}", teamData.Name)); return(result); } var game = lastGame.Dates[0].Games[0]; var homeTeam = api.GetTeam(game.Teams.Home.Team.Id); var awayTeam = api.GetTeam(game.Teams.Away.Team.Id); StringBuilder builder = new StringBuilder(); builder.AppendLine(string.Format("The last {0} game was {1}, {2} @ {3} at {4}", teamData.Name, game.GameDate.ToLocalTime().ToLongDateString(), game.Teams.Away.Team.Name, game.Teams.Home.Team.Name, game.Venue.Name)); builder.AppendLine(string.Format("The final score was {0} {1} : {2} {3}", awayTeam.Abbreviation, game.Teams.Away.Score, homeTeam.Abbreviation, game.Teams.Home.Score)); result.Add(builder.ToString()); return(result); }
private IEnumerable <string> LastGameLineScore(int teamId) { List <string> result = new List <string>(); var api = new NHLApiClient(); var lastGame = api.GetLastGame(teamId); var teamData = api.GetTeam(teamId); if (lastGame == null || lastGame.TotalGames < 1) { result.Add(string.Format("There are currently no previous games the {0}", teamData.Name)); return(result); } var homeTeam = api.GetTeam(lastGame.Dates[0].Games[0].Teams.Home.Team.Id); var awayTeam = api.GetTeam(lastGame.Dates[0].Games[0].Teams.Away.Team.Id); var gameData = api.GetLiveGameDetail(lastGame.Dates[0].Games[0].GamePk); var lineScore = api.GetGameLineScore(lastGame.Dates[0].Games[0].GamePk); foreach (var period in lineScore.Periods) { var summary = NHLInformationSummarizer.PeriodSummary(period, homeTeam, awayTeam, gameData); result.Add(summary.ToString()); } return(result); }
private IEnumerable <string> LastGameHighlights(string team) { Locator.Instance.Fetch <ILogger>().LogLine("Executing LastGameHighlights command for team: " + team); List <string> result = new List <string>(); NHLApiClient api = new NHLApiClient(); int teamId = -1; var isTeamId = int.TryParse(team, out teamId); if (!isTeamId) { var Ids = Locator.Instance.Fetch <TeamNameTranslator>().LookupIdsForName(team); if (Ids.Count > 1) { result.Add("Name conflict, got more than one team ID for " + team + ". Please be more specific."); return(result); } if (Ids.Count == 0) { result.Add("Couldn't find a team by the name " + team + ". Please try another name."); return(result); } teamId = Ids.First().Key; } var lastGame = api.GetLastGame(teamId); var gameId = lastGame.Dates[0].Games[0].GamePk; var content = api.GetGameContent(gameId); foreach (var highlight in content.Highlights.Scoreboard.Items) { if (highlight.Type != "video") { continue; } var builder = new StringBuilder(); var vid = highlight.Playbacks.Last(); builder.AppendLine(highlight.Title); builder.AppendLine(vid.URL); result.Add(builder.ToString()); } return(result); }
private IEnumerable <string> LastGame(string team) { Locator.Instance.Fetch <ILogger>().LogLine("Executing LastGame command for team: " + team); List <string> result = new List <string>(); NHLApiClient api = new NHLApiClient(); int teamId = -1; var isTeamId = int.TryParse(team, out teamId); if (!isTeamId) { var Ids = Locator.Instance.Fetch <TeamNameTranslator>().LookupIdsForName(team); if (Ids.Count > 1) { result.Add("Name conflict, got more than one team ID for " + team + ". Please be more specific."); return(result); } if (Ids.Count == 0) { result.Add("Couldn't find a team by the name " + team + ". Please try another name."); return(result); } teamId = Ids.First().Key; } var lastGame = api.GetLastGame(teamId); var teamData = api.GetTeam(teamId); if (lastGame == null || lastGame.TotalGames < 1) { result.Add(string.Format("There are currently no previous games the {0}", teamData.Name)); return(result); } var game = lastGame.Dates[0].Games[0]; var homeTeam = api.GetTeam(game.Teams.Home.Team.Id); var awayTeam = api.GetTeam(game.Teams.Away.Team.Id); StringBuilder builder = new StringBuilder(); builder.AppendLine(string.Format("The last {0} game was {1}, {2} @ {3} at {4}", teamData.Name, game.GameDate.ToLocalTime().ToLongDateString(), game.Teams.Away.Team.Name, game.Teams.Home.Team.Name, game.Venue.Name)); builder.AppendLine(string.Format("The final score was {0} {1} : {2} {3}", awayTeam.Abbreviation, game.Teams.Away.Score, homeTeam.Abbreviation, game.Teams.Home.Score)); result.Add(builder.ToString()); return(result); }
private IEnumerable <string> LastGameLineScore(string team) { Locator.Instance.Fetch <ILogger>().LogLine("Executing LastGameLineScore command for: " + team); List <string> result = new List <string>(); int teamId = -1; var isTeamId = int.TryParse(team, out teamId); if (!isTeamId) { var Ids = Locator.Instance.Fetch <TeamNameTranslator>().LookupIdsForName(team); if (Ids.Count > 1) { result.Add("Name conflict, got more than one team ID for " + team + ". Please be more specific."); return(result); } if (Ids.Count == 0) { result.Add("Couldn't find a team by the name " + team + ". Please try another name."); return(result); } teamId = Ids.First().Key; } var api = new NHLApiClient(); var lastGame = api.GetLastGame(teamId); var teamData = api.GetTeam(teamId); if (lastGame == null || lastGame.TotalGames < 1) { result.Add(string.Format("There are currently no previous games the {0}", teamData.Name)); return(result); } var homeTeam = api.GetTeam(lastGame.Dates[0].Games[0].Teams.Home.Team.Id); var awayTeam = api.GetTeam(lastGame.Dates[0].Games[0].Teams.Away.Team.Id); var gameData = api.GetLiveGameDetail(lastGame.Dates[0].Games[0].GamePk); var lineScore = api.GetGameLineScore(lastGame.Dates[0].Games[0].GamePk); foreach (var period in lineScore.Periods) { var summary = NHLInformationSummarizer.PeriodSummary(period, homeTeam, awayTeam, gameData); result.Add(summary.ToString()); } return(result); }
public void GetLastGameTestBasic() { NHLApiClient api = new NHLApiClient(); var testResponse = File.ReadAllText(@"../../../TestAPIResponses/GetLastGameResult.json"); var jobj = JObject.Parse(testResponse); var teamArray = (JArray)jobj["teams"]; var teamDetail = JsonConvert.DeserializeObject <TeamDetail>(teamArray[0].ToString()); var expected = teamDetail.PreviousGameSchedule; // Make API web call GameScheduleData actual = api.GetLastGame(52); // Jets //Assert Assert.AreEqual(expected, actual); }