Beispiel #1
0
        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();
            }
        }