public int SubscribeCodes(string username, string[] codelist) { if (_dataAdapter != null) { List <string> subcodes = new List <string>(); for (int i = 0; i < codelist.Length; i++) { string code = codelist[i]; if (_codes.ContainsKey(code)) { //更新代码时间 SubCode sc = _codes[code]; sc.Flush(username); } else { //添加代码 if (StockCodeManager.GetInstance.Codes.ContainsKey(code)) { //有效代码 SubCode sc = new SubCode(); sc.Code = code; sc.Name = StockCodeManager.GetInstance.GetStockName(code); sc.SubTime = DateTime.Now; sc.FlushTime = DateTime.Now; sc.Users.Add(username); _codes.Add(code, sc); subcodes.Add(code); } } } if (_clients.ContainsKey(username)) { //为用户添加订阅代码 _clients[username].AddSubCodes(codelist.ToList <string>()); } else { //添加用户信息 UserClient uc = new UserClient(); uc.Username = username; uc.AddSubCodes(codelist.ToList <string>()); _clients.Add(username, uc); } if (subcodes.Count > 0) { //添加数据源的订阅代码 _dataAdapter.RegisterCodes(subcodes); App.Logger.Info(string.Format("DataService:用户{0}添加订阅,订阅列表:{1}", username, string.Join(",", subcodes))); } return(subcodes.Count); } return(0); }