private void UpdateStrategyAdjustment(ContractKeyVM contract, StrategyVM.Model model, double adjust) { var strategy = _otcOptionHandler.StrategyVMCollection.FirstOrDefault(s => s.Equals(contract)); if (strategy != null) { PricingContractParamVM pricingContract = null; switch (model) { case StrategyVM.Model.PM: pricingContract = strategy.PricingContractParams.FirstOrDefault(); break; case StrategyVM.Model.IVM: pricingContract = strategy.IVMContractParams.FirstOrDefault(); break; case StrategyVM.Model.VM: pricingContract = strategy.VMContractParams.FirstOrDefault(); break; } if (pricingContract != null) { pricingContract.Adjust = adjust; _otcOptionHandler.UpdateStrategyPricingContracts(strategy, model); } } }
public ContractKeyVM FindTradingDeskData(ContractKeyVM contract) { WeakReference <ContractKeyVM> tdVMRef; ContractKeyVM tdVM = null; if (TradingDeskDataMap.TryGetValue(contract, out tdVMRef)) { tdVMRef.TryGetTarget(out tdVM); } return(tdVM); }
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 async Task <ContractKeyVM> SubTradingDeskDataAsync(ContractKeyVM contractKey) { var tdDataList = await SubTradingDeskDataAsync(new[] { contractKey }); return(tdDataList?.FirstOrDefault()); }