public static QuickFix.FIX42.OrderCancelReject Fix42Reject2OrderCancelReject(QuickFix.Message msgReject, QuickFix.Message msgOri) { try { QuickFix.FIX42.OrderCancelReject ocr = new QuickFix.FIX42.OrderCancelReject(); if (msgOri.IsSetField(Tags.OrderID)) { ocr.Set(new OrderID(msgOri.GetString(Tags.OrderID))); } else { ocr.Set(new OrderID("NONE")); } if (msgOri.IsSetField(Tags.SecondaryOrderID)) { ocr.Set(new SecondaryOrderID(msgOri.GetString(Tags.SecondaryOrderID))); } if (msgOri.IsSetField(Tags.ClOrdID)) { ocr.Set(new ClOrdID(msgOri.GetString(Tags.ClOrdID))); } if (msgOri.IsSetField(Tags.OrigClOrdID)) { ocr.Set(new OrigClOrdID(msgOri.GetString(Tags.OrigClOrdID))); } ocr.Set(new OrdStatus(OrdStatus.REJECTED)); // if (msgOri.IsSetField(Tags.ClientID)) ocr.Set(new ClientID(msgOri.GetString(Tags.ClientID))); // not found on 4.4EP // TODO[FF] - Verificar a montagem do execbroker a partir de party ids // if (msgOri.IsSetField(Tags.ExecBroker)) ocr.Set(new ExecBroker(msgOri.GetString(Tags.ExecBroker))); // not found on 4.4EP if (msgOri.IsSetField(Tags.ListID)) { ocr.Set(new ListID(msgOri.GetString(Tags.ListID))); } if (msgOri.IsSetField(Tags.Account)) { ocr.Set(new Account(msgOri.GetString(Tags.Account))); } if (msgOri.IsSetField(Tags.TransactTime)) { ocr.Set(new TransactTime(msgOri.GetDateTime(Tags.TransactTime))); } if (msgOri.Header.GetString(Tags.MsgType).Equals(MsgType.ORDER_CANCEL_REQUEST)) // mandatory { ocr.Set(new CxlRejResponseTo('1')); } else { ocr.Set(new CxlRejResponseTo('2')); } //if (msgOri.IsSetField(Tags.CxlRejReason)) ocr.Set(new CxlRejReason(msgOri.GetInt(Tags.CxlRejReason))); if (msgOri.IsSetField(Tags.CxlRejReason)) { ocr.Set(new CxlRejReason(CxlRejReason.BROKER_OPTION)); } if (msgOri.IsSetField(Tags.Text)) { ocr.Set(new Text(msgOri.GetString(Tags.Text))); } if (msgOri.IsSetField(Tags.EncodedTextLen)) { ocr.Set(new EncodedTextLen(msgOri.GetInt(Tags.EncodedTextLen))); } if (msgOri.IsSetField(Tags.EncodedText)) { ocr.Set(new EncodedText(msgOri.GetString(Tags.EncodedText))); } if (msgOri.IsSetField(Tags.Memo)) { ocr.SetField(new Memo(msgOri.GetString(Tags.Memo))); } /* * if (msgOri.IsSetField(Tags.OrderID)) * ocr.Set(new OrderID(msgOri.GetString(Tags.OrderID))); * else * ocr.Set(new OrderID("NONE")); * ocr.Set(new ClOrdID(msgOri.GetString(Tags.ClOrdID))); // mandatory * ocr.Set(new OrigClOrdID(msgOri.GetString(Tags.OrigClOrdID))); // mandatory * ocr.Set(new OrdStatus(OrdStatus.REJECTED)); // mandatory * if (msgOri.IsSetField(Tags.Account)) * ocr.SetField(new Account(msgOri.GetString(Tags.Account))); * if (msgOri.Header.GetString(Tags.MsgType).Equals(MsgType.ORDER_CANCEL_REQUEST)) // mandatory * ocr.Set(new CxlRejResponseTo('1')); * else * ocr.Set(new CxlRejResponseTo('2')); * if (msgReject.IsSetField(Tags.Text)) * ocr.Set(new Text(msgReject.GetString(Tags.Text))); * int len = msgOri.GetInt(Tags.NoPartyIDs); * for (int i = 0; i < len; i++) * { * Group grp = msgOri.GetGroup(i + 1, Tags.NoPartyIDs); * ocr.AddGroup(grp); * } * ocr.SetField(new Symbol(msgOri.GetString(Tags.Symbol))); * if (msgOri.IsSetField(Tags.SecurityID)) ocr.SetField(new SecurityID(msgOri.GetField(Tags.SecurityID))); * if (msgOri.IsSetField(Tags.SecurityIDSource)) ocr.SetField(new SecurityIDSource(msgOri.GetField(Tags.SecurityIDSource))); * ocr.SetField(new Side(msgOri.GetChar(Tags.Side))); * if (msgOri.IsSetField(Tags.Memo)) * ocr.SetField(new Memo(msgOri.GetString(Tags.Memo))); */ return(ocr); } catch (Exception ex) { logger.Error("Fix42Reject2OrderCancelReject(): " + ex.Message, ex); return(null); } }