public SchedulesController() { var systemTime = new SystemTime(); var httpClient = new HttpClient(); var client = new Client(httpClient); var scraper = new Scraper(systemTime, client); var serializer = new ScrapeResultSerializer(); var pathBuilder = new PathBuilder(); var storageClient = new StorageClient(systemTime, pathBuilder); var uniqueClient = new UniqueClient(storageClient); var statusRecorder = new UploadStatusRecorder(storageClient, systemTime); _scrapeResultRecorder = new ScrapeResultRecorder(scraper, serializer, storageClient, uniqueClient, statusRecorder); _throttledScrapeResultRecorder = new ThrottledScrapeResultRecorder(systemTime, _scrapeResultRecorder); var gtfsConverter = new GtfsConverter(); var gtfsCsvSerializer = new GtfsCsvSerializer(); var gtfsFeedSerializer = new GtfsFeedSerializer(gtfsCsvSerializer); _gtfsFeedArchiveRecord = new GtfsFeedArchiveRecorder(storageClient, uniqueClient, gtfsConverter, gtfsFeedSerializer, statusRecorder); var settingsService = new SettingsProvider(); _settings = new Settings(settingsService); }
public ThrottledScrapeResultRecorder(ISystemTime systemTime, IScrapeResultRecorder innerRecorder) { _systemTime = systemTime; _innerRecorder = innerRecorder; }