// nba_id = 364
        //FantasyContent content = Client.ExecuteRequest<FantasyContent>("http://fantasysports.yahooapis.com/fantasy/v2/game/nba");

        //content = Client.ExecuteRequest<FantasyContent>("http://fantasysports.yahooapis.com/fantasy/v2/league/364.l.45575");

        //content = Client.ExecuteRequest<FantasyContent>("http://fantasysports.yahooapis.com/fantasy/v2/team/364.l.45575.t.2/roster/players");

        //content = Client.ExecuteRequest<FantasyContent>("http://fantasysports.yahooapis.com/fantasy/v2/player/364.p.4612/stats");

        private static FantasyTeam GetTeam(string leagueId, string teamId)
        {
            FantasyTeam team = new FantasyTeam();

            string         teamUrl     = "http://fantasysports.yahooapis.com/fantasy/v2/team/364.l." + leagueId + ".t." + teamId + "/roster/players";
            FantasyContent teamContent = Client.ExecuteRequest <FantasyContent>(teamUrl);

            team.Id      = teamContent.Team.Id;
            team.Manager = teamContent.Team.Managers[0].Nickname;
            team.Name    = teamContent.Team.Name;

            foreach (Team.Roster.TeamPlayer item in teamContent.Team.TeamRoster.Players)
            {
                FantasyPlayer player = new FantasyPlayer();
                player.Id   = item.Id;
                player.Name = item.Name.Full;

                string         playerUrl     = "http://fantasysports.yahooapis.com/fantasy/v2/player/364.p." + player.Id + "/stats";
                FantasyContent playerContent = Client.ExecuteRequest <FantasyContent>(playerUrl);

                player.SeasonStats = new FantasyStats(playerContent.Player.PlayerStatistics.Stats);
                team.Players.Add(player);
            }

            return(team);
        }
        // TODO: Override the virtual XmlSerializer.Serialize/Deserialize methods to handle all overloads
        public void Serialize(XmlWriter writer, TContent o)
        {
            var fantasyWrapper = new FantasyContent <TContent> {
                Content = o
            };

            Serialize(
                writer,
                fantasyWrapper,
                new XmlSerializerNamespaces(new[] { XmlQualifiedName.Empty })
                );
        }
 public FantasyContent GetLeagueInfo()
 {
     try
     {
         FantasyContent content = Client.ExecuteRequest <FantasyContent>(@"http://fantasysports.yahooapis.com/fantasy/v2/league/359.l.247388/scoreboard;week=2");
         return(content);
     }
     catch (SportsApiException)
     {
         var            token   = Client.RefreshToken();
         FantasyContent content = Client.ExecuteRequest <FantasyContent>(@"http://fantasysports.yahooapis.com/fantasy/v2/league/359.l.247388/scoreboard;week=2");
         return(content);
     }
 }
 public static Team QuickTeamTest()
 {
     try
     {
         FantasyContent content = Client.ExecuteRequest <FantasyContent>(@"http://fantasysports.yahooapis.com/fantasy/v2/team/223.l.431.t.9/roster/players");//http://fantasysports.yahooapis.com/fantasy/v2/player/223.p.5479");//http://fantasysports.yahooapis.com/fantasy/v2/game/223/leagues;league_keys=223.l.431");//http://fantasysports.yahooapis.com/fantasy/v2/game/nba");
         return(content.Team);
     }
     catch (SportsApiException ex)
     {
         Console.WriteLine("OAuth exception caught: " + ex.Message);
         Console.WriteLine("Refreshing token...");
         Client.RefreshToken();
         Console.WriteLine("Refresh token successful!");
         Console.WriteLine("Trying to execute normal authenticated request again!");
         FantasyContent content = Client.ExecuteRequest <FantasyContent>(@"http://fantasysports.yahooapis.com/fantasy/v2/team/223.l.431.t.9/roster/players");//"http://fantasysports.yahooapis.com/fantasy/v2/player/223.p.5479");//http://fantasysports.yahooapis.com/fantasy/v2/game/223/leagues;league_keys=223.l.431");//http://fantasysports.yahooapis.com/fantasy/v2/game/nba");
         return(content.Team);
     }
 }
 public static League QuickLeagueTest()
 {
     try
     {
         FantasyContent content = Client.ExecuteRequest <FantasyContent>(@"http://fantasysports.yahooapis.com/fantasy/v2/league/238.l.178574/scoreboard;week=2");//http://fantasysports.yahooapis.com/fantasy/v2/player/223.p.5479");//http://fantasysports.yahooapis.com/fantasy/v2/game/223/leagues;league_keys=223.l.431");//http://fantasysports.yahooapis.com/fantasy/v2/game/nba");
         return(content.League);
     }
     catch (SportsApiException ex)
     {
         Console.WriteLine("OAuth exception caught: " + ex.Message);
         Console.WriteLine("Refreshing token...");
         Client.RefreshToken();//Token = oauthProvider.RefreshToken(Token);
         Console.WriteLine("Refresh token successful!");
         Console.WriteLine("Trying to execute normal authenticated request again!");
         FantasyContent content = Client.ExecuteRequest <FantasyContent>(@"http://fantasysports.yahooapis.com/fantasy/v2/league/238.l.178574/scoreboard;week=2");//"http://fantasysports.yahooapis.com/fantasy/v2/player/223.p.5479");//http://fantasysports.yahooapis.com/fantasy/v2/game/223/leagues;league_keys=223.l.431");//http://fantasysports.yahooapis.com/fantasy/v2/game/nba");
         return(content.League);
     }
 }
        private static List <FantasyTeam> GetLeague(bool useCache)
        {
            if (useCache)
            {
                if (File.Exists(CACHE_FILE))
                {
                    using (StreamReader file = File.OpenText(CACHE_FILE))
                    {
                        JsonSerializer     serializer  = new JsonSerializer();
                        List <FantasyTeam> cacheLeague = (List <FantasyTeam>)serializer.Deserialize(file, typeof(List <FantasyTeam>));
                        return(cacheLeague);
                    }
                }
            }

            FantasyContent leagueContent = Client.ExecuteRequest <FantasyContent>("http://fantasysports.yahooapis.com/fantasy/v2/league/364.l.45575");
            int            numTeams      = int.Parse(leagueContent.League.NumTeams);

            List <FantasyTeam> league = new List <FantasyTeam>();

            for (int i = 1; i < (numTeams + 1); i++)
            {
                try
                {
                    FantasyTeam team = GetTeam("45575", i.ToString());
                    Thread.Sleep(3000);
                    league.Add(team);
                }
                catch (Exception)
                {
                }
            }

            using (StreamWriter file = File.CreateText(CACHE_FILE))
            {
                JsonSerializer serializer = new JsonSerializer();
                serializer.Serialize(file, league);
            }

            return(league);
        }
        private static void SetupClient()
        {
            GetToken(false);

            Client = new SportsProvider("", ClientId, ClientSecret, Token);
            Thread.Sleep(1000);

            try
            {
                FantasyContent content = Client.ExecuteRequest <FantasyContent>("http://fantasysports.yahooapis.com/fantasy/v2/game/nba");
            }
            catch (Exception exception)
            {
                if (exception.HResult == -2146233088)
                {
                    GetToken(true);
                    Client = new SportsProvider("", ClientId, ClientSecret, Token);
                    Thread.Sleep(1000);
                    return;
                }

                throw;
            }
        }