Ejemplo n.º 1
0
        /// <summary>Gets the bitfinex active orders asynchronous.</summary>
        /// <param name="stoppingToken">The stopping token.</param>
        /// <returns>Task of IEnumerable of BitfinexOrder.</returns>
        /// <exception cref="Exception">processed.</exception>
        public async Task <IEnumerable <BitfinexOrder> > GetBitfinexActiveOrdersAsync(CancellationToken stoppingToken)
        {
            int activeOrdersRequestMaxTry = 5;

            do
            {
                var activeOrdersRequest = await _bitfinexClient.GetActiveOrdersAsync();

                if (!activeOrdersRequest.Success)
                {
                    activeOrdersRequestMaxTry -= 1;

                    if (activeOrdersRequestMaxTry == 0)
                    {
                        await _loggerService.CreateLog(new Log(LogType.Error, $"AutoTrader v{_assemblyVersion}, GetBitfinexActiveOrdersAsync()", activeOrdersRequest.Error.Message));

                        throw new Exception("processed");
                    }

                    await Task.Delay(1000 * 20 * 1, stoppingToken);
                }
                else
                {
                    return(activeOrdersRequest.Data);
                }
            }while (true);
        }