Esempio n. 1
0
    public async Task <IEnumerable <GameweekEntry> > GetEntriesForGameweek(int gw, int leagueId)
    {
        try
        {
            var league = await _leagueClient.GetClassicLeague(leagueId);

            var entries = league.Standings.Entries;

            var entryDictionary = new ConcurrentBag <GameweekEntry>();

            await Task.WhenAll(entries.Select(async entry =>
            {
                var gameweekEntries = await _entryForGameweek.GetEntryForGameweek((ClassicLeagueEntry)entry, gw);
                entryDictionary.Add(gameweekEntries);
            }));

            return(entryDictionary);
        }
        catch (HttpRequestException hre) when(LogWarning(hre, gw, leagueId))
        {
            return(Enumerable.Empty <GameweekEntry>());
        }
        catch (Exception e)
        {
            _logger.LogError(e, e.Message);
            return(Enumerable.Empty <GameweekEntry>());
        }
    }
Esempio n. 2
0
    private async Task <EntryCaptainPick> GetEntryCaptainPick(GenericEntry entry, int gameweek, ICollection <Player> players)
    {
        try
        {
            var entryForGameweekTask  = _entryForGameweek.GetEntryForGameweek(entry, gameweek);
            var entryPicksForGameweek = await entryForGameweekTask;

            return(new EntryCaptainPick
            {
                Entry = entry,
                Captain = players.SingleOrDefault(player => player.Id == entryPicksForGameweek.Captain.PlayerId),
                ViceCaptain = players.SingleOrDefault(player => player.Id == entryPicksForGameweek.ViceCaptain.PlayerId),
                IsTripleCaptain = entryPicksForGameweek.ActiveChip == FplConstants.ChipNames.TripleCaptain
            });
        }
        catch (Exception e)
        {
            _logger.LogError(e.Message, e);
            return(null);
        }
    }