示例#1
0
        private static List <PlayerWeekStatsVersioned.Player> GetPlayers(JObject playersObject,
                                                                         WeekInfo week, Dictionary <string, int> playerTeamMap)
        {
            var result = new List <PlayerWeekStatsVersioned.Player>();

            foreach (var p in playersObject)
            {
                string nflId = p.Key;

                var statsObject = SourceJsonReader.GetStatsObjectForPlayer(p.Value, week);
                Dictionary <WeekStatType, double> stats = SourceJsonReader.ResolveStatsMapFromObject(statsObject);

                var player = new PlayerWeekStatsVersioned.Player
                {
                    NflId = nflId,
                    Stats = stats
                };

                if (playerTeamMap.TryGetValue(nflId, out int teamId))
                {
                    player.TeamId = teamId;
                }

                result.Add(player);
            }

            return(result);
        }
示例#2
0
        public async Task <PlayerWeekStatsVersioned> MapAsync(string httpResponse, WeekInfo week)
        {
            JObject playersObject = SourceJsonReader.GetPlayersObject(httpResponse);
            Dictionary <string, int> playerTeamMap = await _teamStatsCache.GetPlayerTeamMapAsync(week);

            var players = GetPlayers(playersObject, week, playerTeamMap);

            return(new PlayerWeekStatsVersioned
            {
                Week = week,
                Players = players
            });
        }