public void AddHolder(HolderItem holder) { bool isExisted = false; foreach (var h in _holders) { //if (h.StockHolderId == holder.StockHolderId) //{ // isExisted = true; // break; //} if (h.AccountCode == holder.AccountCode && h.AssetNo == holder.AssetNo && h.CombiNo == holder.CombiNo && h.MarketNo == holder.MarketNo) { isExisted = true; break; } } if (!isExisted) { _holders.Add(holder); } }
public HolderItem GetHolder(string holderId) { HolderItem holder = new HolderItem(); foreach (var h in _holders) { if (h.StockHolderId == holderId) { holder = h; break; } } return(holder); }
public HolderItem GetHolder(string combiNo, string marketNo) { HolderItem holder = new HolderItem(); var ports = _holders.Where(p => p.CombiNo == combiNo).ToList(); var markets = ports.Where(p => p.MarketNo == marketNo).ToList(); foreach (var h in _holders) { if (h.CombiNo == combiNo && h.MarketNo == marketNo) { holder = h; break; } } return(holder); }
public ConnectionCode QueryHolder() { UFXFunctionCode functionCode = UFXFunctionCode.QueryHolder; FunctionItem functionItem = ConfigManager.Instance.GetFunctionConfig().GetFunctionItem(functionCode); if (functionItem == null || functionItem.RequestFields == null || functionItem.RequestFields.Count == 0) { return(ConnectionCode.ErrorLogin); } CT2BizMessage bizMessage = new CT2BizMessage(); //初始化 bizMessage.SetFunction((int)functionCode); bizMessage.SetPacketType(CT2tag_def.REQUEST_PACKET); //业务包 CT2Packer packer = new CT2Packer(2); packer.BeginPack(); foreach (FieldItem item in functionItem.RequestFields) { packer.AddField(item.Name, item.Type, item.Width, item.Scale); } foreach (FieldItem item in functionItem.RequestFields) { switch (item.Name) { case "user_token": packer.AddStr(LoginManager.Instance.LoginUser.Token); break; case "account_code": packer.AddStr(""); break; case "asset_no": packer.AddStr(""); break; case "combi_no": packer.AddStr(""); break; case "market_no": packer.AddStr(""); break; default: break; } } packer.EndPack(); unsafe { bizMessage.SetContent(packer.GetPackBuf(), packer.GetPackLen()); } var parser = _t2SDKWrap.SendSync2(bizMessage); packer.Dispose(); bizMessage.Dispose(); if (parser.ErrorCode != ConnectionCode.Success) { UFXLogger.Error(logger, functionCode, "交易股东查询失败"); return(parser.ErrorCode); } var response = T2ErrorHandler.Handle(parser); if (T2ErrorHandler.Success(response.ErrorCode)) { if (parser.DataSets.Count > 1) { var dataSet = parser.DataSets[1]; foreach (var dataRow in dataSet.Rows) { HolderItem p = new HolderItem(); p.AccountCode = dataRow.Columns["account_code"].GetStr(); p.AssetNo = dataRow.Columns["asset_no"].GetStr(); p.CombiNo = dataRow.Columns["combi_no"].GetStr(); p.StockHolderId = dataRow.Columns["stockholder_id"].GetStr(); p.MarketNo = dataRow.Columns["market_no"].GetStr(); LoginManager.Instance.AddHolder(p); } } return(ConnectionCode.Success); } else { UFXLogger.Error(logger, functionCode, response); return(ConnectionCode.ErrorFailContent); } }