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));
        }
예제 #2
0
        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));
        }