Ejemplo n.º 1
0
        public Workflow(ILogger logger,
                        ITwitterService twitterService,
                        IFootballAPIClient footballAPI,
                        IDatabaseOperations database,
                        ITweetBuilder tweetBuilder,
                        IInterestCalculator interestCalculator)
        {
            _logger             = logger;
            _twitterService     = twitterService;
            _footballAPI        = footballAPI;
            _database           = database;
            _tweetBuilder       = tweetBuilder;
            _interestCalculator = interestCalculator;

            _getMatchScoreFromAPIStep           = new GetMatchScoreFromAPI(_logger, _footballAPI);
            _getLastMatchCheckTimeStep          = new GetLastMatchCheckTimeFromDatabase(_logger, _database);
            _buildMatchTweetStep                = new BuildMatchTweet(_logger, _tweetBuilder);
            _getMatchesFromAPIStep              = new GetMatchesFromAPI(_logger, _footballAPI);
            _getMatchesToSearchFromDatabaseStep = new GetMatchesToSearchFromDatabase(_logger, _database);
            _getMatchStatsFromAPIStep           = new GetMatchStatsFromAPI(_logger, _footballAPI);
            _persistMatchesToDatabaseStep       = new PersistMatchesToDatabase(_logger, _database);
            _processMatchStatsStep              = new ProcessMatchStats(_logger, _interestCalculator);
            _sendMatchTweetStep           = new SendMatchTweet(_logger, _twitterService);
            _updateMatchTwitterStatusStep = new UpdateMatchTwitterStatus(_logger, _database);
        }
 public GetMatchScoreFromAPI(ILogger logger, IFootballAPIClient api)
 {
     _logger = logger;
     _api    = api;
 }