private void UpdateStreamQuote(Quote quote) { var element = StreamQuotes.FirstOrDefault(c => c.Symbol == quote.Symbol); if (element == null) { element = new QuoteAndTrade { Ask = quote.Ask, Asksz = quote.Asksz, Bid = quote.Bid, Bidsz = quote.Bidsz, Datetime = quote.Datetime, Symbol = quote.Symbol, Timestamp = quote.Timestamp }; } else { element.Ask = quote.Ask; element.Asksz = quote.Asksz; element.Bid = quote.Bid; element.Bidsz = quote.Bidsz; element.Datetime = quote.Datetime; element.Timestamp = quote.Timestamp; } AddStreamQuoteOnMainThread(element); }
private void AddStreamQuoteOnMainThread(QuoteAndTrade quote) { Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(() => { StreamQuotes.Remove(quote); StreamQuotes.Add(quote); } )); }
private void UpdateStreamQuote(Trade trade) { var element = StreamQuotes.FirstOrDefault(c => c.Symbol == trade.Symbol); if (element == null) { element = new QuoteAndTrade { LastPrice = trade.Last, Volume = trade.Vl, Datetime = trade.Datetime, Symbol = trade.Symbol, Timestamp = trade.Timestamp }; } else { element.LastPrice = trade.Last; element.Volume = trade.Vl; element.Datetime = trade.Datetime; element.Timestamp = trade.Datetime; } AddStreamQuoteOnMainThread(element); }