public async Task Can_Get_Players() { PlayersResponse response; try { var playersRequest = new PlayersRequest() { Force = true, Season = "2019", Team = "det" }; response = await nflSportsFeedsClient.GetPlayers(playersRequest); var staffords = response.Players.Where(x => x.Player.LastName == "Stafford").ToList(); var rookies = response.Players.Where(x => x.Player.Rookie == true).OrderBy(x => x.Player.LastName).ToList(); var hock = rookies.Where(x => x.Player.LastName.StartsWith("Hock")).FirstOrDefault(); Assert.NotNull(response); Assert.True(response.Players.Any()); } catch (System.Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.Data.ToString()); throw; } }
private List <Player> PostAndDeserializedPlayers(PlayersRequest playersRequest) { var result = _swgohFlurlService.SwgohPost(_path, playersRequest); var players = JsonConvert.DeserializeObject <List <Player> >(result); return(players); }
public string SwgohPost(string path, PlayersRequest playersRequest) { var response = path.WithHeaders(new { Content_Type = UrlConstants.ApplicationJson, Authorization = Token }).PostJsonAsync(playersRequest).Result; var result = response.Content.ReadAsStringAsync().Result; return(result); }
public Player GetPlayer(PlayerRequest playerRequest) { var playersRequest = new PlayersRequest { AllyCodes = new List <int> { playerRequest.AllyCode }, Language = playerRequest.Language, Enums = playerRequest.Enums, Structure = playerRequest.Structure, Project = playerRequest.Project }; var players = PostAndDeserializedPlayers(playersRequest); return(players.FirstOrDefault()); }
public async Task <Players> GetPlayer(int league, int limit = 20, int page = 0) { Players players; string playerListCacheKey = $"Player[{league}]-limit[{limit}]-page[{page}]"; if (memoryCache.TryGetValue(playerListCacheKey, out players)) { return(players); } var leagueFilter = new PlayersRequest { League = league }; var playersMessages = await client.PostAsync($"/api/players?page={page}&limit={limit}", new StringContent(JsonSerializer.Serialize(leagueFilter))); //var playersMessages = await client.PostAsync<PlayersRequest>($"/api/players?page={page}&limit={limit}", leagueFilter, new JsonMediaTypeFormatter()); if (!playersMessages.IsSuccessStatusCode) { throw new InvalidOperationException(await playersMessages.Content.ReadAsStringAsync()); } else { var playersString = await playersMessages.Content.ReadAsStringAsync(); players = JsonSerializer.Deserialize <Players>(playersString); memoryCache.Set(playerListCacheKey, players); foreach (var l in players.PlayerList) { byte[] image; string playerId = $"Player[{l.Id}]"; if (!memoryCache.TryGetValue(playerId, out image)) { image = await client.GetByteArrayAsync($"/api/players/{l.Id}/image"); memoryCache.Set(playerId, image); } l.Image = image; } return(players); } }
public List <Player> GetPlayers(PlayersRequest playersRequest) { var players = PostAndDeserializedPlayers(playersRequest); return(players); }
public List <Player> GetPlayers(PlayersRequest playersRequest) { return(_playerService.GetPlayers(playersRequest)); }
public async Task <PlayersResponse> GetPlayers(PlayersRequest request) { var players = await mySportsFeedsApi.GetPlayers(request, AuthorizationHeader); return(players); }