public DataPump(IDataPumpProvider dataPumpProvider, IDataFileIterator dataFileIterator, IDataPumpStockDataToDBWriter stockDataToDBWriter, IDataFileLineToStockData lineToStockData, IDataFileDownloader dataFileDownloader, DownloadDirectories downloadDirectories) { _dataPumpProvider = dataPumpProvider; _dataFileIterator = dataFileIterator; _stockDataToDBWriter = stockDataToDBWriter; _lineToStockData = lineToStockData; _dataFileDownloader = dataFileDownloader; _downloadDirectories = downloadDirectories; }
public void Init() { DirectoryUtils.ClearDir(_rootPath, true); _downloadDirectories = new DownloadDirectories(_rootPath); DownloadUrlPrepator downloadUrlPrepator = new DownloadUrlPrepator(_downloadDefinitions); DownloadFilePathPreparator downloadFilePathPreparator = new DownloadFilePathPreparator(_downloadDefinitions, _downloadDirectories); DownloadUnzipPathPreparator downloadUnzipPathPreparator = new DownloadUnzipPathPreparator(_downloadDirectories); DownloadFilesQueue downloadFilesQueue = new DownloadFilesQueue(); DownloadPipe downloadPipe = new DownloadPipe(new WebClientFileDownloader(), new SystemFileUnzipper(), downloadFilesQueue); _dataFileDownloader = new DataFileDownloader(downloadPipe, downloadFilesQueue, downloadUrlPrepator, downloadFilePathPreparator, downloadUnzipPathPreparator); }