コード例 #1
0
        public virtual async Task <IEnumerable <CoinTrackingTrade> > DownloadTradesAsync()
        {
            Console.ForegroundColor = ConsoleColor.Green;
            _logger.LogDebug("Entered download trades function.");

            var getTradesResponse = await _getTradesRequest.SendRequestAsync <GetTradesResponse>();

            if (getTradesResponse != null && getTradesResponse.Success)
            {
                _logger.LogInformation(LoggingEvents.WebRequest, null, $"Successfully downloaded {getTradesResponse.Trades?.Count() ?? 0} trades from the CoinTracking API.");

                // return the trade data
                return(getTradesResponse.Trades);
            }
            else
            {
                Console.ForegroundColor = ConsoleColor.Red;
                var logMsg = $"Error downloading trades from CoinTracking API: {getTradesResponse?.Error} - {getTradesResponse?.ErrorMessage}";
                _logger.LogWarning(LoggingEvents.WebRequestError, logMsg);
                throw new CoinTrackingException(logMsg);
            }
        }