public List <Player> GetFreeAgentsWithStarRating(
            int weekNo,
            bool skipZeros        = false,
            List <Player> players = null)
        {
            if (players == null)
            {
                players = _newPlayerDetector.FreeAgentsForWeek(weekNo);
            }
            foreach (var player in players)
            {
                var gameLog = GameLogService.GameLogFor(
                    Season.ToString(),
                    player.Name,
                    player.GridstatsPos,
                    sendToConsole: false);
                var nextLog = GameLogService.GameLogFor(
                    (Season + 1).ToString(),
                    player.Name,
                    player.GridstatsPos,
                    sendToConsole: false);
                gameLog.FilterOn(WeeksLeft);
                var accumulatedLog = gameLog.Add(nextLog);
                player.Stars = accumulatedLog.Value();
            }
            var sortedPlayers = players
                                .Where(p => !skipZeros || p.Stars > 0)
                                .OrderByDescending(p => p.Stars)
                                .ToList();

            return(sortedPlayers);
        }
 public RetroFreeAgentService(
     GameLogService gameLogService,
     int season,
     int[] weeksLeft = null)
 {
     GameLogService     = gameLogService;
     Season             = season;
     WeeksLeft          = weeksLeft;
     _newPlayerDetector = new NewPlayerDetector(
         season,
         "l:\\apps\\GameLog\\");
 }
Пример #3
0
        static void Main()
        {
            // enter year
            var season = "1984";
            // enter player name
            var playerName = "Joe Montana";
            // scrape it
            var service = new GameLogService.GameLogService();

            service.GameLogFor(
                season,
                playerName);

            Console.ReadLine();
        }
        public int ShowAllFreeAgents(
            int weekNo,
            bool skipZeros        = false,
            List <Player> players = null)
        {
            if (players == null)
            {
                players = GetFreeAgentsWithStarRating(weekNo, skipZeros);
            }
            Console.WriteLine($"{players.Count} newbies, cuts, holdouts or rebids            {Season}        {Season + 1}");
            var sortedPlayers = players.OrderBy(r => r.GridstatsPos);
            var lastPosition  = "69";

            foreach (var player in sortedPlayers)
            {
                if (player.GridstatsPos != lastPosition)
                {
                    Console.WriteLine();
                    lastPosition = player.GridstatsPos;
                }

                var gameLog = GameLogService.GameLogFor(
                    Season.ToString(),
                    player.Name,
                    player.GridstatsPos,
                    sendToConsole: false);
                var nextLog = GameLogService.GameLogFor(
                    (Season + 1).ToString(),
                    player.Name,
                    player.GridstatsPos,
                    sendToConsole: false);

                gameLog.FilterOn(WeeksLeft);
                var accumulatedLog = gameLog.Add(nextLog);
                Console.WriteLine(
                    $@"{
                        player
                        }   {
                        gameLog.TotalStats(player.GridstatsPos)
                        }   {
                        nextLog.TotalStats(player.GridstatsPos)
                        }   {
                        accumulatedLog.TotalStats(player.GridstatsPos)
                        }  ({accumulatedLog.Value(),3})");
            }
            return(sortedPlayers.Count());
        }
        public int ShowNewbieFreeAgents(int weekNo)
        {
            var result = _newPlayerDetector.NewbiesForWeek(weekNo);

            Console.WriteLine($"{result.Count} newbies, cuts, holdouts or rebids            {Season}        {Season + 1}");
            var sortedPlayers = result.OrderBy(r => r.GridstatsPos);
            var lastPosition  = "69";

            foreach (var player in sortedPlayers)
            {
                if (player.GridstatsPos != lastPosition)
                {
                    Console.WriteLine();
                    lastPosition = player.GridstatsPos;
                }

                var gameLog = GameLogService.GameLogFor(
                    Season.ToString(),
                    player.Name,
                    player.GridstatsPos,
                    sendToConsole: false);
                var nextLog = GameLogService.GameLogFor(
                    (Season + 1).ToString(),
                    player.Name,
                    player.GridstatsPos,
                    sendToConsole: false);

                gameLog.FilterOn(WeeksLeft);
                var accumulatedLog = gameLog.Add(nextLog);
                Console.WriteLine(
                    $@"{
                        player
                        }   {
                        gameLog.TotalStats(player.GridstatsPos)
                        }   {
                        nextLog.TotalStats(player.GridstatsPos)
                        }   {
                        accumulatedLog.TotalStats(player.GridstatsPos)
                        }  ({accumulatedLog.Value(),3})");
            }
            return(sortedPlayers.Count());
        }