Пример #1
0
        private async Task <List <TradeOrderStatus> > GetOrdersAsync(MarketOrdersContext context, bool isOpen)
        {
            var api = ApiProvider.GetApi(context);

            string market = null;

            // Market not required.
            if (context.HasMarket)
            {
                market = context.Market.ToTicker(this);
            }

            var rRaw = await api.GetOrdersAsync(market, isOpen?  "{\"open\": true}" : null).ConfigureAwait(false);

            CheckResponseErrors(rRaw);

            var r = rRaw.GetContent();

            return(r.Where(x => !x.ordStatus.Equals("new", StringComparison.OrdinalIgnoreCase)).Select(ParseTradeOrderStatus).ToList());
        }
Пример #2
0
        /// <summary>
        /// Returns merged list of buy and sell orders.
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        private async Task <ResponseModelBase <IEnumerable <CoinbaseSchema.OrderResponse> > > GetBuysAndSellsAsync(MarketOrdersContext context)
        {
            var api = ApiProvider.GetApi(context);

            var rAccountId = await GetFirstAccountId(context).ConfigureAwait(false);

            var accountId = rAccountId.Result;

            var rBuysRaw = await api.ListBuysAsync(accountId).ConfigureAwait(false);

            CheckResponseErrors(rBuysRaw);

            var rSellsRaw = await api.ListSellsAsync(accountId).ConfigureAwait(false);

            CheckResponseErrors(rSellsRaw);

            var rBuys  = rBuysRaw.GetContent();
            var rSells = rSellsRaw.GetContent();

            return(new ResponseModelBase <IEnumerable <CoinbaseSchema.OrderResponse> >(rBuys.data.Concat(rSells.data))
            {
                ApiHitsCount = rAccountId.ApiHitsCount + 2
            });
        }