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()); }
/// <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 }); }