private async void AddQuote() { string quote = contractTextBox.SelectedItem == null ? contractTextBox.Filter : contractTextBox.SelectedItem.ToString(); if (!FutureOptionList.Any((c) => string.Compare(c.Contract, quote, true) == 0)) { MessageBox.Show("输入合约" + quote + "不存在"); contractTextBox.Filter = string.Empty; return; } ClientDbContext.SaveMarketContract(MarketDataHandler.MessageWrapper.User.Id, quote, FilterSettingsWin.FilterId); var item = QuoteVMCollection.FirstOrDefault(c => c.Contract == quote); if (item != null) { quoteListView.SelectedItem = item; } else { var mktDataVM = await MarketDataHandler.SubMarketDataAsync(quote); if (mktDataVM != null) { QuoteVMCollection.Add(mktDataVM); } } }
public void GetContractInfo() { FutureOptionList.AddRange(ClientDbContext.GetContractFromCache((int)ProductType.PRODUCT_FUTURE)); FutureOptionList.AddRange(ClientDbContext.GetContractFromCache((int)ProductType.PRODUCT_OPTIONS)); FutureOptionList.AddRange(ClientDbContext.GetContractFromCache((int)ProductType.PRODUCT_ETFOPTION)); FutureOptionList.AddRange(ClientDbContext.GetContractFromCache((int)ProductType.PRODUCT_STOCK)); contractTextBox.Provider = new SuggestionProvider((string c) => { return(FutureOptionList.Where(ci => ci.Contract.StartsWith(c, true, null)).Select(cn => cn.Contract)); }); }
public void Initialize() { _viewSource.Source = QuoteVMCollection; quoteListView.ItemsSource = _viewSource.View; mColumns = ColumnObject.GetColumns(quoteListView); FilterSettingsWin.UserID = MarketDataHandler.MessageWrapper.User.Id; FutureOptionList.AddRange(ClientDbContext.GetContractFromCache((int)ProductType.PRODUCT_FUTURE)); FutureOptionList.AddRange(ClientDbContext.GetContractFromCache((int)ProductType.PRODUCT_OPTIONS)); QuoteChanged = _viewSource.View as ICollectionViewLiveShaping; if (QuoteChanged.CanChangeLiveFiltering) { QuoteChanged.LiveFilteringProperties.Add("Exchange"); QuoteChanged.LiveFilteringProperties.Add("Contract"); QuoteChanged.IsLiveFiltering = true; } }