protected void UnsubTDSuccessAction(PBInstrumentList pbInstList) { foreach (var contract in pbInstList.Instrument) { WeakReference <ContractKeyVM> tdVMRef; TradingDeskDataMap.TryRemove(new ContractKeyVM(contract.Exchange, contract.Contract), out tdVMRef); } }
public void SendMessage(uint serialId, uint msgId, IEnumerable <ContractKeyVM> instrIDList) { var instr = new PBInstrumentList(); foreach (var instrID in instrIDList) { instr.Instrument.Add(new PBInstrument { Exchange = instrID.Exchange, Contract = instrID.Contract }); } instr.Header = new DataHeader { SerialId = serialId }; MessageWrapper.SendMessage(msgId, instr); }
protected IList <ContractKeyVM> SubTDSuccessAction(PBInstrumentList instList) { var ret = new List <ContractKeyVM>(); foreach (var contract in instList.Instrument) { var contractKey = new ContractKeyVM(contract.Exchange, contract.Contract); var tdVM = FindTradingDeskData(contractKey); if (tdVM == null) { tdVM = contractKey; TradingDeskDataMap[contractKey] = new WeakReference <ContractKeyVM>(tdVM); } ret.Add(tdVM); } return(ret); }
public override void SendMessage(uint serialId, uint msgId, IEnumerable <ContractKeyVM> instrIDList) { var sst = new PBInstrumentList(); foreach (var instrID in instrIDList) { var pb = new PBInstrument { Contract = instrID.Contract }; if (!string.IsNullOrEmpty(instrID.Exchange)) { pb.Exchange = instrID.Exchange; } sst.Instrument.Add(pb); } sst.Header = new DataHeader { SerialId = serialId }; MessageWrapper.SendMessage(msgId, sst); }