예제 #1
0
        // ----- ustawianie listview z notowaniami instrumentów -----

        private void UpdateInstrumentInfo(BosInstrument instrument)
        {
            var item    = GetInstrumentItem(instrument);
            var oldText = item.Text;

            item.SubItems.Clear();
            item.Name = instrument.ISIN ?? instrument.Symbol;
            item.Text = instrument.Symbol ?? instrument.ISIN;
            var bid = instrument.BuyOffers.Best;

            item.SubItems.Add((bid != null) ? bid.Volume.ToString() : "");
            item.SubItems.Add((bid != null) ? bid.Price.ToString() : "");
            var ask = instrument.SellOffers.Best;

            item.SubItems.Add((ask != null) ? ask.Price.ToString() : "");
            item.SubItems.Add((ask != null) ? ask.Volume.ToString() : "");
            var trd = instrument.Trades.Last;

            item.SubItems.Add((trd != null) ? trd.Quantity.ToString() : "");
            item.SubItems.Add((trd != null) ? trd.Price.ToString() : "");
            item.SubItems.Add((trd != null) ? trd.Time.TimeOfDay.ToString() : "");
            if (item.Text != oldText)
            {
                instrumentsView.Sort();
            }
        }
예제 #2
0
        private ListViewItem GetInstrumentItem(BosInstrument instrument)
        {
            var item = instrumentsView.Items[instrument.ISIN] ??
                       instrumentsView.Items[instrument.Symbol];

            if (item == null)
            {
                item     = new ListViewItem();
                item.Tag = instrument;
                instrumentsView.Items.Add(item);
            }
            return(item);
        }