public void BroadCastMarketOrderBookData(MarketOrderBookData eventData) { if (eventData != null) { Task.Run(() => Messenger.Default.Send(eventData, MessengerToken.BROADCASTMARKETORDERBOOK)); } }
private void UpdateOrderBook(MarketOrderBookData obj) { DispatcherHelper.CheckBeginInvokeOnUI(() => { MarketOrderDataList.Clear(); UpdateBuyOrderBook(obj); UpdateSellOrderBook(obj); }); }
public void BroadCastMarketOrderBookData(MarketOrderBookData data, IReadOnlyDictionary <int, IBroadcastorCallBack> clients) { foreach (var client in clients) { try { client.Value.BroadCastMarketOrderBookData(data); } catch { ObjFactory.Instance.CreateLogger() .Log("BroadCastMarketOrderBookData =" + client, this.GetType().Name); } } }
public void BroadCastMarketOrderBookDataToSingleClient(MarketOrderBookData data, IReadOnlyDictionary <int, IBroadcastorCallBack> clients, int clientId) { try { var value = clients[clientId]; if (value != null) { value.BroadCastMarketOrderBookData(data); } } catch { ObjFactory.Instance.CreateLogger() .Log("BroadCastMarketOrderBookDataToSingleClient =" + clientId, this.GetType().Name); } }
private void UpdateSellOrderBook(MarketOrderBookData obj) { if (obj.SellPendingOrders?.Count() > 0) { var list = obj.SellPendingOrders.OrderBy(x => x.Price).ToList(); foreach (var item in list) { var marketData = ObjFactory.Instance.CreateMarketOrderData(); if (MarketOrderDataList.Any(x => x.Price == item.Price)) { marketData = MarketOrderDataList.Where(x => x.Price == item.Price).FirstOrDefault(); AddAskMrktQuantity(item, marketData); } else { marketData.Price = item.Price; AddAskMrktQuantity(item, marketData); MarketOrderDataList.Add(marketData); } } } }