Example #1
0
        public TransactionReadResult GetReadResult(IFormFile formFile, SupportedFileFormat fileFormat)
        {
            if (fileFormat != SupportedFileFormat.Csv)
            {
                return(_successor?.GetReadResult(formFile, fileFormat));
            }

            var csvRecords = _csvFileReader.ReadRecords <CsvTransaction>(formFile);

            var transactionModels = _mapper.Map <List <TransactionModel> >(csvRecords);

            var result = _transactionValidator.GetValidatedReadResult(transactionModels);

            if (result.ValidationResult.HasErrors)
            {
                return(result);
            }

            result.Transactions.AddRange(transactionModels);

            return(result);
        }
Example #2
0
        public TransactionReadResult GetReadResult(IFormFile formFile, SupportedFileFormat fileFormat)
        {
            if (fileFormat != SupportedFileFormat.Xml)
            {
                return(_successor?.GetReadResult(formFile, fileFormat));
            }

            var transactionXml = _xmlFileReader.ReadXml <XmlTransactionRoot>(formFile);

            var transactionModels = _mapper.Map <List <TransactionModel> >(transactionXml?.Transactions);

            var result = _transactionValidator.GetValidatedReadResult(transactionModels);

            if (result.ValidationResult.HasErrors)
            {
                return(result);
            }

            result.Transactions.AddRange(transactionModels);

            return(result);
        }