Esempio n. 1
0
        /// <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);
            }
        }
Esempio n. 2
0
 public virtual OrderReplaceResult cancelOrder(CancelRequestData replaceData)
 {
     return OrderReplaceResult.error;
 }