private void GetTrades(BinanceSymbolViewModel symbol = null) { if (symbol == null) { symbol = SelectedSymbol; } using (var client = new BinanceClient()) { //var result = client.GetMyTrades(Global.GetBinanceSymbolName(symbol.Symbol)); // Not sure if this will fix IOTA or not var result = client.GetMyTrades(symbol.Symbol); if (result.Success) { //SelectedSymbol.AggregateTrades = new ObservableCollection<AggregateTradeViewModel>(result.Data.OrderByDescending(d => d.Timestamp).Select(t => new AggregateTradeViewModel(symbol, t))); symbol.Trades = new ObservableCollection <TradeViewModel>(result.Data.OrderByDescending(d => d.Time).Select(t => new TradeViewModel(symbol.Symbol, t) { TradeSymbol = AllPrices.Where(price => price.Symbol == symbol.Symbol).FirstOrDefault() })); var ledgerAsset = Ledger.Where(ledge => ledge.Asset == symbol.SymbolAsset).FirstOrDefault(); if (ledgerAsset != null) { ledgerAsset.AddTrades(symbol.Trades); } } else { messageBoxService.ShowMessage($"Error getting trade data for [{symbol.Symbol}]: {result.Error.Message}", "error", MessageBoxButton.OK, MessageBoxImage.Error); } } }
private void GetOrders(BinanceSymbolViewModel symbol = null) { if (symbol == null) { symbol = SelectedSymbol; } if (symbol == null) { return; } using (var client = new BinanceClient()) { var result = client.GetAllOrders(symbol.Symbol); if (result.Success) { symbol.AddOrders(result.Data.OrderByDescending(d => d.Time).Select(o => new OrderViewModel() { Id = o.OrderId, ExecutedQuantity = o.ExecutedQuantity, OriginalQuantity = o.OriginalQuantity, Price = o.Price, Side = o.Side, Status = o.Status, Symbol = o.Symbol, Time = o.Time, Type = o.Type })); } else { messageBoxService.ShowMessage($"Error getting orders.\n{result.Error.Message}", $"Error Code: {result.Error.Code}", MessageBoxButton.OK, MessageBoxImage.Error); } } }