示例#1
0
        public void Update()
        {
            bool done           = false;
            var  previousDateId = string.Empty;

            while (!done)
            {
                try
                {
                    Console.Out.WriteLine($"Updating league {_settings.LeagueId}");
                    var league       = _statsProvider.GetLeagueStats(_settings.LeagueId).Result;
                    var playerScores = _statsProvider.GeneratePlayerScores(league, false).Result;
                    var teamScores   = _statsProvider.GenerateTeamScores(league, playerScores).Result;

                    var leagueScore = new Data.LeagueScore
                    {
                        Id = _settings.LeagueId,
                        PlayerCalculatedScores = playerScores,
                        FantasyTeams           = teamScores
                    };

                    Console.Out.WriteLine("Updating calcuations");
                    var result = _client.UpdateAsync("updateLeagueScores", leagueScore, "league").Result;
                    if (result == null)
                    {
                        Console.Error.WriteLine("Null result");
                    }
                    else if (!result.Success)
                    {
                        Console.Error.WriteLine($"Failed to update. Message {result.Message}");
                    }
                    Console.Out.WriteLine("Finished updating league");
                }
                catch (Exception e)
                {
                    Console.Error.WriteLine($"Update failed. {e.Message}. {e.StackTrace}");
                }
                if (!_settings.Continuous)
                {
                    done = true;
                }
                else
                {
                    Task.Delay(_settings.Delay).Wait();
                }
            }
        }
        public void Update()
        {
            bool done           = false;
            var  previousDateId = string.Empty;

            while (!done)
            {
                try
                {
                    var gameDateId = DateExtensions.TodaysDateId();

                    Console.Out.WriteLine($"Updating date: {gameDateId}");
                    var playerScores = _statsProvider.GetScoresForDateAsync(gameDateId).Result;

                    var season = new Season
                    {
                        ExternalId = _settings.SeasonId
                    };
                    var gds = new GameDateSeason
                    {
                        GameDateId = gameDateId,
                        Season     = season
                    };

                    var gameDate = new GameDate
                    {
                        Id = gameDateId,
                        PlayersStatsOnDate = playerScores
                    };

                    if (gameDateId != previousDateId)
                    {
                        Console.Out.WriteLine("Getting team states");
                        var teamStates = _statsProvider.GetTeamsStatesAsync(_settings.SeasonId).Result;
                        var teamResult = _client.UpdateAsync("updateTeamStates", teamStates, "teamStates", "[TeamStateForSeasonInput]").Result;
                        if (teamResult == null)
                        {
                            Console.Error.WriteLine("Null result");
                        }
                        else if (!teamResult.Success)
                        {
                            Console.Error.WriteLine($"Failed to update. Message {teamResult.Message}");
                        }
                        Console.Out.WriteLine("Done updating date");
                    }

                    gameDate.GameDateSeasons.Add(gds);

                    Console.Out.WriteLine("Updating team date");
                    var result = _client.UpdateAsync("updateGameDateStats", gameDate).Result;
                    if (result == null)
                    {
                        Console.Error.WriteLine("Null result");
                    }
                    else if (!result.Success)
                    {
                        Console.Error.WriteLine($"Failed to update. Message {result.Message}");
                    }
                    Console.Out.WriteLine("Done updating date");
                    previousDateId = gameDateId;
                }
                catch (Exception e)
                {
                    Console.Error.WriteLine($"Update failed. {e.Message}. {e.StackTrace}");
                }
                if (!_settings.Continuous)
                {
                    done = true;
                }
                else
                {
                    Task.Delay(_settings.Delay).Wait();
                }
            }
        }