/// <summary> /// Apply new cancel requests /// </summary> /// <param name="myMsg"></param> public void ApplyCancelRequest(KaiTrade.Interfaces.IMessage myMsg) { try { if (1 == 1) { string mnemonic = ""; KaiTrade.Interfaces.ICancelOrderRequest cancelRequest; cancelRequest = JsonConvert.DeserializeObject<K2DataObjects.CancelOrderRequest>(myMsg.Data); CancelRequestData r = new CancelRequestData(crrType.cancel, cancelRequest); // Get the context - we must have this to access the order if (_clOrdIDOrderMap.ContainsKey(cancelRequest.OrigClOrdID)) { r.OrderContext = _clOrdIDOrderMap[cancelRequest.OrigClOrdID]; _clOrdIDOrderMap.Add(r.ClOrdID, r.OrderContext); } else { //sendCancelReplaceRej(replaceData.LastQFMod, QuickFix.CxlRejReason.UNKNOWN_ORDER, "an order does not exist for the modifyOrder"); Exception myE = new Exception("an order does not exist for the cancelOrder"); throw myE; } try { if (oRLog.IsInfoEnabled) { oRLog.Info("cancelOrder:context" + r.OrderContext.ToString()); oRLog.Info("cancelOrder:order" + r.OrderContext.ExternalOrder.ToString()); } } catch { } r.OrderContext.ClOrdID = r.ClOrdID; r.OrderContext.OrigClOrdID = r.ClOrdID; // use a blocking collection replaceRequests.Add(r); } else { //sync update //DoApplyPriceUpdate(update); } } catch (Exception myE) { log.Error("ApplyReplaceRequest", myE); } }
public virtual OrderReplaceResult cancelOrder(CancelRequestData replaceData) { return OrderReplaceResult.error; }