Пример #1
0
 protected void UnsubTDSuccessAction(PBInstrumentList pbInstList)
 {
     foreach (var contract in pbInstList.Instrument)
     {
         WeakReference <ContractKeyVM> tdVMRef;
         TradingDeskDataMap.TryRemove(new ContractKeyVM(contract.Exchange, contract.Contract), out tdVMRef);
     }
 }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }