public AccountEtl( IBankStatementWebScraper bankStatementWebScraper, IAccountsRepository accounts, IUnitOfWork unitOfWork) { _bankStatementWebScraper = bankStatementWebScraper; _accounts = accounts; _unitOfWork = unitOfWork; }
public TransactionEtl( ILogger <TransactionEtl> logger, IBankStatementWebScraper bankStatementWebScraper, IStatementFactory statementFactory, ITransactionImportJobRepository transactionImportJobs, IAccountsRepository accounts, ITransactionsRepository transactions, IUnitOfWork unitOfWork, IOptions <TransactionEtlOptions> options) { _logger = logger; _bankStatementWebScraper = bankStatementWebScraper; _statementFactory = statementFactory; _transactionImportJobs = transactionImportJobs; _accounts = accounts; _transactions = transactions; _unitOfWork = unitOfWork; _options = options.Value; _unprocessedPath = options.Value.UnprocessedStatementDirectory ?? throw new ArgumentNullException( nameof(options.Value.UnprocessedStatementDirectory), "Unprocessed statement directory is required"); if (!Directory.Exists(_unprocessedPath)) { Directory.CreateDirectory(_unprocessedPath); } _processedPath = options.Value.ProcessedStatementDirectory ?? throw new ArgumentNullException( nameof(options.Value.ProcessedStatementDirectory), "Processed statement directory is required"); if (!Directory.Exists(_processedPath)) { Directory.CreateDirectory(_processedPath); } _moveProcessedStatements = options.Value.MoveProcessedStatements; }