public async Task <IEnumerable <CoinBuy> > GetRelevantCoinBuys(string symbol, decimal quantity, Exchange exchange) { var pairs = await _hubBldr.GetMarketsForACoin(symbol); var orders = await _hubBldr.GetExchangeOrders(pairs, exchange); var coinBuyList = new List <CoinBuy>(); foreach (var order in orders) { var quantityApplied = quantity >= order.FilledQuantity ? order.FilledQuantity : quantity; quantity -= order.FilledQuantity; var coinBuy = ExchangeOrderToCoinBuy(order, exchange, quantityApplied); coinBuyList.Add(coinBuy); if (quantity <= 0) { break; } } return(coinBuyList); }
public async Task <IEnumerable <ExchangeOrder> > GetFromExchange(string symbol, Exchange exchange) { var pairs = await _hubBldr.GetMarketsForACoin(symbol); return(await _hubBldr.GetExchangeOpenOrdersByPairs(pairs, exchange)); //var exchangeOrderList = new List<ExchangeOrder>(); //foreach (var order in orders) //{ // var exchangeOrder = OrderResponseToExchangeOrder(order, exchange); // exchangeOrderList.Add(exchangeOrder); //} //return exchangeOrderList; }