/// <summary> /// Class constructor. Sets FileOperationsHaveErrors to true if payment transactions file name is empty or does not exist /// </summary> /// <param name="logger">Logger object</param> /// <param name="transactionStringReader">Payment transactions reader from specific format</param> /// <param name="transactionFileName">Payment transactions file name</param> public TransactionsTextFileReader(ICalcFeesLogger logger, ITransactionStringReader transactionStringReader, string transactionFileName) { _logger = logger ?? throw new ArgumentNullException("logger"); _transactionStringReader = transactionStringReader ?? throw new ArgumentNullException("transactionStringReader"); _transactionFileName = transactionFileName; FileOperationsHaveErrors = false; /* * Sets FileOperationsHaveErrors to true for empty name or file not found already here */ if (string.IsNullOrWhiteSpace(transactionFileName)) { _logger.WriteLine("Cannot read from file if file name is empty"); FileOperationsHaveErrors = true; } if (!File.Exists(transactionFileName)) { _logger.WriteLine("File does not exist - " + transactionFileName); FileOperationsHaveErrors = true; } }
static void Main(string[] args) { _logger = new CalcFeesConsoleLogger(); if (!ParseArguments(args)) { return; } var fileReader = new TransactionsTextFileReader(_logger, new TransactionString3ColumnReader(_logger), _filePath); if (fileReader.HasError()) { _logger.WriteLine("Could not initialise transactions file for reading - " + _filePath); return; } var processor = new TransactionsProcessor(_logger, fileReader, new TransactionsConsoleWriter(_logger, new TransactionString3ColumnWriter(_logger))); if (!processor.ProcessAllTransactions()) { _logger.WriteLine("Could not process all transactions - " + _filePath); } }
/// <summary> /// Constructor /// </summary> /// <param name="logger"></param> public TransactionString3ColumnWriter(ICalcFeesLogger logger) { _logger = logger ?? throw new ArgumentNullException("logger"); }
public TransactionsTextFileReaderChild(ICalcFeesLogger logger, ITransactionStringReader transactionStringReader, string transactionFileName) : base(logger, transactionStringReader, transactionFileName) { }
public TransactionString3ColumnReaderChild(ICalcFeesLogger logger) : base(logger) { }
/// <summary> /// Class constructor /// </summary> /// <param name="logger">logger object</param> /// <param name="transactionStringWriter">payment transaction writer into string</param> public TransactionsConsoleWriter(ICalcFeesLogger logger, ITransactionStringWriter transactionStringWriter) { _logger = logger ?? throw new ArgumentNullException("logger"); _transactionStringWriter = transactionStringWriter ?? throw new ArgumentNullException("transactionStringWriter"); }
public TransactionsProcessorChild(ICalcFeesLogger logger, ITransactionsReader transactionsReader, ITransactionsWriter transactionsWriter) : base(logger, transactionsReader, transactionsWriter) { }
/// <summary> /// Class constructor. /// </summary> /// <param name="logger">Logger object</param> /// <param name="transactionsReader">Payment transactions reader from any possible source</param> /// <param name="transactionsWriter">Payment transactions writer to any possible source</param> public TransactionsProcessor(ICalcFeesLogger logger, ITransactionsReader transactionsReader, ITransactionsWriter transactionsWriter) { _logger = logger ?? throw new ArgumentNullException("logger"); _transactionsReader = transactionsReader ?? throw new ArgumentNullException("transactionsReader"); _transactionsWriter = transactionsWriter ?? throw new ArgumentNullException("transactionsWriter"); }