// ----- 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(); } }
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); }