//Add stock to collection if exists else update the collection private void AddOrUpdateStockPriceCollection(List <StockPrice> stockPriceList) { if (stockPriceList.Any()) { foreach (var stock in stockPriceList) { if (StockPrices.Any(item => item.Symbol == stock.Symbol)) { UpdateStockItem(stock); } else { StockPrices.Add(stock); } } } }
/// <summary> /// Updates the live data. /// </summary> private void UpdateLiveData() { SuspendDataUpdatesWhile(() => { for (int i = 0; i < 6; i++) { StockPrices.RemoveAt(0); } PriceData lastStockData; for (int i = 0; i < 6; i++) { lastStockData = StockPrices.Last(); DateTime stockDate = lastStockData.Date.Add(StockUpdateTimeSpan); decimal stockPrice = GetRandomStockPriceNear(lastStockData.Price); StockPrices.Add(new PriceData(stockPrice, stockDate)); } CurrentPrice = StockPrices.Last(); }); }