// STATUS [ June 9, 2019 ] : this works
        /// <summary>
        ///     Create a list of team total stats for all teams in league for the season
        ///     Relies on the 'CreateYahooTeamStatsModel()' method to instantiate each Yahoo Team Stats List
        /// </summary>
        /// <param name="NumberOfTeams">
        ///     The total number of teams in the league
        ///     Assumes 1 manager per team; if a team is co-managed it just gives you one mgr for that team
        /// </param>
        /// <example>
        ///     var listOfTeamStats = CreateListOfAllYahooTeamStatsListsForLeague(10);
        /// </example>
        public List <YahooTeamStatsList> CreateListOfAllYahooTeamStatsListsForLeague(int NumberOfTeams)
        {
            List <YahooTeamStatsList> yStatsList = new List <YahooTeamStatsList>();

            for (var counter = 1; counter <= NumberOfTeams - 1; counter++)
            {
                YahooTeamStatsList ySL = CreateYahooTeamStatsModel(counter);
                yStatsList.Add(ySL);
            }
            _helpers.Dig(yStatsList);
            return(yStatsList);
        }
        public YahooTeamStatsList CreateYahooTeamStatsModelFromUrl(int teamId)
        {
            // _h.Spotlight("executing create yahoo team stats method option 3");
            string leagueKey   = _yahooApiRequestController.GetTheGameIsTheGameLeagueKey();
            var    uriTeamBase = endPoints.TeamSeasonStatsEndPoint(leagueKey, teamId).EndPointUri;

            JObject teamStatsJson = _yahooApiRequestController.GenerateYahooResourceJObject(uriTeamBase);

            YahooTeamStatsList tS = PopulateTeamStatsProperties(teamStatsJson);

            // _helpers.Dig(tS);
            return(tS);
        }
        public YahooTeamStatsList PopulateTeamStatsProperties(JObject teamStatsJson)
        {
            YahooTeamStatsList tS = new YahooTeamStatsList();

            var yTs = tS.YahooTeamStats = new YahooTeamStats();

            var teamPath = teamStatsJson["fantasy_content"]["team"];

            tS.TeamKey  = teamPath["team_key"].ToString();
            tS.TeamId   = teamPath["team_id"].ToString();
            tS.TeamName = teamPath["name"].ToString();

            yTs.WeekNumber = teamPath["roster_adds"]["coverage_value"].ToString();

            var managerPath = teamStatsJson["fantasy_content"]["team"]["managers"]["manager"];

            tS.ManagerId       = managerPath["manager_id"].ToString();
            tS.ManagerNickName = managerPath["nickname"].ToString();
            tS.ManagerGuid     = managerPath["guid"].ToString();

            var teamStatsPath = teamStatsJson["fantasy_content"]["team"]["team_stats"];

            yTs.StatCoverageType = teamStatsPath["coverage_type"].ToString();
            yTs.Season           = teamStatsPath["season"].ToString();

            // STAT PATH type: Newtonsoft.Json.Linq.JArray
            var statPath = teamStatsJson["fantasy_content"]["team"]["team_stats"]["stats"]["stat"];

            int statIdIndexLocation = 0;

            tS.HitsDividedByAtBatsId = statPath[statIdIndexLocation]["stat_id"].ToString();
            statIdIndexLocation++;

            tS.RunsId = statPath[statIdIndexLocation]["stat_id"].ToString();
            statIdIndexLocation++;

            tS.HomeRunsId = statPath[statIdIndexLocation]["stat_id"].ToString();
            statIdIndexLocation++;

            tS.RunsBattedInId = statPath[statIdIndexLocation]["stat_id"].ToString();
            statIdIndexLocation++;

            tS.StolenBasesId = statPath[statIdIndexLocation]["stat_id"].ToString();
            statIdIndexLocation++;

            tS.WalksId = statPath[statIdIndexLocation]["stat_id"].ToString();
            statIdIndexLocation++;

            tS.BattingAverageId = statPath[statIdIndexLocation]["stat_id"].ToString();
            statIdIndexLocation++;

            tS.InningsPitchedId = statPath[statIdIndexLocation]["stat_id"].ToString();
            statIdIndexLocation++;

            tS.WinsId = statPath[statIdIndexLocation]["stat_id"].ToString();
            statIdIndexLocation++;

            tS.StrikeoutsId = statPath[statIdIndexLocation]["stat_id"].ToString();
            statIdIndexLocation++;

            tS.SavesId = statPath[statIdIndexLocation]["stat_id"].ToString();
            statIdIndexLocation++;

            tS.HoldsId = statPath[statIdIndexLocation]["stat_id"].ToString();
            statIdIndexLocation++;

            tS.EarnedRunAverageId = statPath[statIdIndexLocation]["stat_id"].ToString();
            statIdIndexLocation++;

            tS.WhipId = statPath[statIdIndexLocation]["stat_id"].ToString();

            int statValueIndexLocation = 0;

            tS.HitsDividedByAtBatsTotal = statPath[statValueIndexLocation]["value"].ToString();
            statValueIndexLocation++;

            tS.RunsTotal = statPath[statValueIndexLocation]["value"].ToString();
            statValueIndexLocation++;

            tS.HomeRunsTotal = statPath[statValueIndexLocation]["value"].ToString();
            statValueIndexLocation++;

            tS.RunsBattedInTotal = statPath[statValueIndexLocation]["value"].ToString();
            statValueIndexLocation++;

            tS.StolenBasesTotal = statPath[statValueIndexLocation]["value"].ToString();
            statValueIndexLocation++;

            tS.WalksTotal = statPath[statValueIndexLocation]["value"].ToString();
            statValueIndexLocation++;

            tS.BattingAverageTotal = statPath[statValueIndexLocation]["value"].ToString();
            statValueIndexLocation++;

            tS.InningsPitchedTotal = statPath[statValueIndexLocation]["value"].ToString();
            statValueIndexLocation++;

            tS.WinsTotal = statPath[statValueIndexLocation]["value"].ToString();
            statValueIndexLocation++;

            tS.StrikeoutsTotal = statPath[statValueIndexLocation]["value"].ToString();
            statValueIndexLocation++;

            tS.SavesTotal = statPath[statValueIndexLocation]["value"].ToString();
            statValueIndexLocation++;

            tS.HoldsTotal = statPath[statValueIndexLocation]["value"].ToString();
            statValueIndexLocation++;

            tS.EarnedRunAverageTotal = statPath[statValueIndexLocation]["value"].ToString();
            statValueIndexLocation++;

            tS.WhipTotal = statPath[statValueIndexLocation]["value"].ToString();

            return(tS);
        }