public void UpdatePrices(IEnumerable <Tuple <decimal, decimal, string> > bids, IEnumerable <Tuple <decimal, decimal, string> > asks) { if (txtNearAmount.InvokeRequired) { var priceUpdate = new PriceUpdateCallBack(UpdatePrices); Invoke(priceUpdate, bids, asks); } else { _currentBidPrices = bids.ToArray(); _currentAskPrices = asks.ToArray(); var amounts = new List <string>(); foreach (var px in _currentBidPrices.Where(px => !amounts.Contains(px.Item1.ToString(CultureInfo.InvariantCulture)))) { amounts.Add(px.Item1.ToString(CultureInfo.InvariantCulture)); } foreach (var px in _currentAskPrices.Where(px => !amounts.Contains(px.Item1.ToString(CultureInfo.InvariantCulture)))) { amounts.Add(px.Item1.ToString(CultureInfo.InvariantCulture)); } UpdateDisplay(); } }
public void UpdatePrices(IEnumerable <Tuple <decimal, decimal, string> > bids, IEnumerable <Tuple <decimal, decimal, string> > asks) { if (cmbQuantity.InvokeRequired) { var priceUpdate = new PriceUpdateCallBack(UpdatePrices); Invoke(priceUpdate, bids, asks); } else { _currentBidPrices = bids.ToArray(); _currentAskPrices = asks.ToArray(); var amounts = new List <string>(); foreach (var px in _currentBidPrices.Where(px => !amounts.Contains(px.Item1.ToString(CultureInfo.InvariantCulture)))) { amounts.Add(px.Item1.ToString(CultureInfo.InvariantCulture)); } foreach (var px in _currentAskPrices.Where(px => !amounts.Contains(px.Item1.ToString(CultureInfo.InvariantCulture)))) { amounts.Add(px.Item1.ToString(CultureInfo.InvariantCulture)); } cmbQuantity.Items.Clear(); cmbQuantity.Items.AddRange(amounts.Select(item => (object)item).ToArray()); UpdateDisplay(); } }