示例#1
0
        private void Handle(OrderCancelReject msg)
        {
            var reason = "";

            if (msg.IsSetCxlRejReason())
            {
                switch (msg.CxlRejReason.Obj)
                {
                case CxlRejReason.TOO_LATE_TO_CANCEL:
                    reason = "Too late to cancel";
                    break;

                case CxlRejReason.ORDER_ALREADY_IN_PENDING_CANCEL_OR_PENDING_REPLACE_STATUS:
                    reason = "Order already in PendingCancel or PendingReplace status";
                    break;

                default:
                    reason = $"#{msg.CxlRejReason.Obj}";
                    break;
                }
            }

            _killOrderTransactions.Reject(msg.ClOrdID.Obj, reason);
            _modifyOrderTransactions.Reject(msg.ClOrdID.Obj, reason);
        }