public async Task <IEnumerable <TransactionDto> > GetTransactions()
        {
            try
            {
                _logger.LogInformation("Attempt to retrieve live transactions");
                var liveData = await _transactionDataProvider.GetTransactions();

                _logger.LogInformation("Live transactions successfully retrieved");

                return(liveData.Select(x => x.Adapt <TransactionDto>()));
            }
            catch (Exception ex)
            {
                _logger.LogError("Error fetching live transactions. Returning data from DB instead", ex);
                return(_unitOfWork.TransactionRepository.GetAll()
                       .Select(x => x.Adapt <TransactionDto>())
                       .AsEnumerable());
            }
        }
Пример #2
0
        public Output ProcessRequest(string[] args)
        {
            Output result = default;

            if (args.Length != 5)
            {
                return(result);
            }

            try{
                var transactions = _transactionDataProvider.GetTransactions();

                result = _transactionProcessor.ExtractTransaction(transactions, args);
            }
            catch
            {
                //log// throw
            }
            return(result);
        }