public void OnMessage(TradeCaptureReport ackReport, SessionID session)
        {
            TradeReport tradeReport = new TradeReport
            {
                Id           = ackReport.ExecID.getValue(),
                LastQty      = ackReport.LastQty.getValue(),
                TransactTime = ackReport.IsSetTransactTime() ? ackReport.TransactTime.getValue() : DateTime.UtcNow,
                LastPrice    = ackReport.LastPx.getValue(),
                InstrumentId = Convert.ToInt32(ackReport.SecurityID.getValue())
            };

            NoSides noSides = ackReport.NoSides;

            tradeReport.Symbol = ackReport.Symbol.getValue();

            var group = new TradeCaptureReport.NoSidesGroup();

            group = (TradeCaptureReport.NoSidesGroup)ackReport.GetGroup(1, group);

            if (group.IsSetSide())
            {
                switch (group.Side.getValue())
                {
                case Side.BUY:
                    tradeReport.Side = BuySellType.Buy;
                    break;

                case Side.SELL:
                    tradeReport.Side = BuySellType.Sell;
                    break;
                }
            }

            tradeReport.OrderId       = group.OrderID.getValue();
            tradeReport.ClientOrderId = group.ClOrdID.getValue();

            //OnTradeReportInvoke(tradeReport);
        }
Exemplo n.º 2
0
 public Field(int tag, NoSides value)
     : this(tag, ((char)value).ToString())
 {
 }
Exemplo n.º 3
0
 public Field(Dictionary.Field definition, NoSides value)
     : this(definition.Tag, value)
 {
     Definition = definition;
 }