// ReSharper disable once UnusedMember.Global
        public static async Task <CandlesHistoryResponseModel> GetCandlesHistoryAsync(this ICandleshistoryservice service, string assetPairId, CandlePriceType priceType, CandleTimeInterval timeInterval, DateTime fromMoment, DateTime toMoment, CancellationToken cancellationToken = default(CancellationToken))
        {
            var result = await service.GetCandlesHistoryOrErrorAsync(assetPairId, priceType, timeInterval, fromMoment, toMoment, cancellationToken);

            switch (result)
            {
            case CandlesHistoryResponseModel candlesHistoryResponseModel:
                return(candlesHistoryResponseModel);

            case ErrorResponse errorResponse:
                throw new ErrorResponseException(errorResponse);
            }

            throw new InvalidOperationException($"Unexpected response type: {result?.GetType()}");
        }
        // ReSharper disable once UnusedMember.Global
        public static async Task <CandlesHistoryResponseModel> TryGetCandlesHistoryAsync(this ICandleshistoryservice service, string assetPairId, CandlePriceType priceType, CandleTimeInterval timeInterval, DateTime fromMoment, DateTime toMoment, CancellationToken cancellationToken = default(CancellationToken))
        {
            var result = await service.GetCandlesHistoryOrErrorAsync(assetPairId, priceType, timeInterval, fromMoment, toMoment, cancellationToken);

            return(result as CandlesHistoryResponseModel);
        }
예제 #3
0
 /// <summary>
 /// Asset's candles history
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='assetPairId'>
 /// Asset pair ID
 /// </param>
 /// <param name='priceType'>
 /// Price type. Possible values include: 'Unspecified', 'Bid', 'Ask', 'Mid',
 /// 'Trades'
 /// </param>
 /// <param name='timeInterval'>
 /// Time interval. Possible values include: 'Unspecified', 'Sec', 'Minute',
 /// 'Min5', 'Min15', 'Min30', 'Hour', 'Hour4', 'Hour6', 'Hour12', 'Day',
 /// 'Week', 'Month'
 /// </param>
 /// <param name='fromMoment'>
 /// From moment in ISO 8601 (inclusive)
 /// </param>
 /// <param name='toMoment'>
 /// To moment in ISO 8601 (exclusive)
 /// </param>
 public static object GetCandlesHistoryOrError(this ICandleshistoryservice operations, string assetPairId, CandlePriceType priceType, CandleTimeInterval timeInterval, System.DateTime fromMoment, System.DateTime toMoment)
 {
     return(operations.GetCandlesHistoryOrErrorAsync(assetPairId, priceType, timeInterval, fromMoment, toMoment).GetAwaiter().GetResult());
 }