public DocumentOptions ToDocumentOptions(Season season, BoxScoreLink boxScoreLink) { var url = $"{BaseUrl}/{boxScoreLink.ToHtmlLink()}"; var directoryPath = $"{DirectoryPath}/html/game-results/{season.SeasonStartYear}-{season.SeasonEndYear}/boxscores"; var filePath = $"{directoryPath}/{boxScoreLink.GameId}.json"; return(new DocumentOptions(url, directoryPath, filePath)); }
public async Task <GameDetailsData> GetGameDetails(Season season, BoxScoreLink boxScoreLink) { var document = await _documentLoader.LoadDocument(_settings.ToDocumentOptions(season, boxScoreLink)); var lineScore = _lineScoreParser.Parse(document); var homeBoxScore = _teamBoxScoreParser.Parse(document, lineScore.HomeTeam); var visitorBoxScore = _teamBoxScoreParser.Parse(document, lineScore.VisitorTeam); return(new GameDetailsData(lineScore.HomeTeam, lineScore.VisitorTeam, boxScoreLink.GameDate, boxScoreLink.GameId, lineScore, homeBoxScore, visitorBoxScore)); }
public async Task <GameDetailsData> GetGameDetails(Season season, BoxScoreLink boxScoreLink) { var(_, filePath) = _settings.ToFileSystemPaths(season, boxScoreLink.GameId); if (!_fileSystem.FileExists(filePath)) { return(await _next.GetGameDetails(season, boxScoreLink)); } return(await _fileSystem.LoadFileContent <GameDetailsData>(filePath)); }