protected override void DisconnectData(Topic topic) { QuoteTopic topic1 = (QuoteTopic)topic; //_topics.Remove(topic1); List <QuoteTopic> topicsForSymbol; if (_symbolTopics.TryGetValue(topic1._symbol, out topicsForSymbol)) { if (topicsForSymbol.Find(x => x.TopicId == topic1.TopicId) == null) { topicsForSymbol.Remove(topic1); } } }
protected override object ConnectData(Topic topic, IList <string> topicInfo, ref bool newValues) { QuoteTopic topic1 = (QuoteTopic)topic; _topics.Add(topic1); if (topic1._symbol == "Server") { if (_hubConnection != null) { _hubConnection.Dispose(); } try { _urlServer = topic1._type; var task = connectToSignalServer(topic1._type); task.Wait(); } catch (Exception e) { //throw; return(e.Message); } _stateTopic = topic1; return(topic1._type); } //topic1.UpdateValue(0); //List<QuoteTopic> topicsForSymbol; //if (_symbolTopics.TryGetValue(topic1._symbol, out topicsForSymbol)) //{ // if (topicsForSymbol.Find(x => x.TopicId == topic1.TopicId) == null) // { // topicsForSymbol.Add(topic1); // } //} //else //{ // topicsForSymbol = new List<QuoteTopic>(); // topicsForSymbol.Add(topic1); // _symbolTopics.Add(topic1._symbol, topicsForSymbol); //} return(0); }
protected override object ConnectData(Topic topic, IList <string> topicInfo, ref bool newValues) { QuoteTopic topic1 = (QuoteTopic)topic; //_topics.Add(topic1); //topic1.UpdateValue(0); List <QuoteTopic> topicsForSymbol; if (_symbolTopics.TryGetValue(topic1._symbol, out topicsForSymbol)) { if (topicsForSymbol.Find(x => x.TopicId == topic1.TopicId) == null) { topicsForSymbol.Add(topic1); } } else { topicsForSymbol = new List <QuoteTopic>(); topicsForSymbol.Add(topic1); _symbolTopics.Add(topic1._symbol, topicsForSymbol); } return(0); }