private void TradeStatusCallback( Int32 mode, Double number, Double orderNumber, [MarshalAs(UnmanagedType.LPStr)] string classCode, [MarshalAs(UnmanagedType.LPStr)] string secCode, Double price, Int32 qty, Double value, Int32 isSell, Int32 tradeDescriptor) { var trade = new TradeInfo() { Mode = (TradeInfoMode)mode, Number = number, OrderNumber = orderNumber, ClassCode = classCode, SecCode = secCode, Price = price, Qty = qty, Value = value, Direction = TypeConverter.GetDirection(isSell), TradeDescriptor = tradeDescriptor }; var tradeDetails = TradeInfoDetails.Fetch(trade.TradeDescriptor); this.OnTradeStatusChanged(new TradeInfoEventArgs(trade, tradeDetails)); }