public async Task <ICollection <Match> > findMatches(int leagueId, int gameweek) { ProcessedLeagueFixtureList matchesInfo = await getLeagueEntriesAndMatches(leagueId); if (matchesInfo == null) { return(null); } return(matchesInfo.matches[gameweek]); }
public async Task <ProcessedLeagueFixtureList> getLeagueEntriesAndMatches(int leagueId) { if (!_footballerCache.leagueEntriesAndMatches.ContainsKey(leagueId)) { await _footballerCache.leagueEntriesLock.WaitAsync(); if (!_footballerCache.leagueEntriesAndMatches.ContainsKey(leagueId)) { ProcessedLeagueFixtureList data = await readLeagueH2hMatches(leagueId); _footballerCache.leagueEntriesAndMatches[leagueId] = data; } _footballerCache.leagueEntriesLock.Release(); } return(_footballerCache.leagueEntriesAndMatches[leagueId]); }