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\\"); }
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()); }