private void OnRspQryOrder_callback(object sender, ref OrderField order, int size1, bool bIsLast) { if (null == OnRspQryOrder) return; OrderClass cls = null; if (size1 > 0) { OrderField field = order; cls = new OrderClass(); cls.InstrumentName = field.InstrumentName(); cls.Symbol = field.Symbol; cls.InstrumentID = field.InstrumentID; cls.ExchangeID = field.ExchangeID; cls.ClientID = field.ClientID; cls.AccountID = field.AccountID; cls.Side = (int) field.Side; cls.Side_String = Enum<XAPI.OrderSide>.ToString(field.Side); cls.Qty = field.Qty; cls.Price = field.Price; cls.OpenClose = (int) field.OpenClose; cls.OpenClose_String = Enum<XAPI.OpenCloseType>.ToString(field.OpenClose); cls.HedgeFlag = (int) field.HedgeFlag; cls.HedgeFlag_String = Enum<XAPI.HedgeFlagType>.ToString(field.HedgeFlag); cls.Date = field.Date; cls.Time = field.Time; cls.ID = field.ID; cls.OrderID = field.OrderID; cls.LocalID = field.LocalID; cls.Type = (int) field.Type; cls.Type_String = Enum<XAPI.OrderType>.ToString(field.Type); cls.StopPx = field.StopPx; cls.TimeInForce = (int) field.TimeInForce; cls.TimeInForce_String = Enum<XAPI.TimeInForce>.ToString(field.TimeInForce); cls.Status = (int) field.Status; cls.Status_String = Enum<XAPI.OrderStatus>.ToString(field.Status); cls.ExecType = (int) field.ExecType; cls.ExecType_String = Enum<XAPI.ExecType>.ToString(field.ExecType); cls.LeavesQty = field.LeavesQty; cls.CumQty = field.CumQty; cls.AvgPx = field.AvgPx; cls.XErrorID = field.XErrorID; cls.RawErrorID = field.RawErrorID; cls.Text = field.Text(); cls.ReserveInt32 = field.ReserveInt32; cls.ReserveChar64 = field.ReserveChar64; } if (null == OnRspQryOrder) { QueueData qd = new QueueData(); qd.Type = (int)ResponeType.OnRspQryOrder; qd.Type_String = Enum<XAPI.ResponeType>.ToString(ResponeType.OnRspQryOrder); qd.Sender = this; qd.Data1 = cls; qd.Data2 = size1; qd.Data3 = bIsLast; MessageQueue.Enqueue(qd); } else { OnRspQryOrder(this, ref cls, size1, bIsLast); } }
private void OnRspQryTrade_callback(object sender, ref TradeField trade, int size1, bool bIsLast) { if (null == OnRspQryTrade) return; TradeClass cls = null; if (size1 > 0) { TradeField field = trade; cls = new TradeClass(); cls.InstrumentName = field.InstrumentName(); cls.Symbol = field.Symbol; cls.InstrumentID = field.InstrumentID; cls.ExchangeID = field.ExchangeID; cls.ClientID = field.ClientID; cls.AccountID = field.AccountID; cls.Side = (int)field.Side; cls.Side_String = Enum<XAPI.OrderSide>.ToString(field.Side); cls.Qty = field.Qty; cls.Price = field.Price; cls.OpenClose = (int)field.OpenClose; cls.OpenClose_String = Enum<XAPI.OpenCloseType>.ToString(field.OpenClose); cls.HedgeFlag = (int)field.HedgeFlag; cls.HedgeFlag_String = Enum<XAPI.HedgeFlagType>.ToString(field.HedgeFlag); cls.Date = field.Date; cls.Time = field.Time; cls.ID = field.ID; cls.TradeID = field.TradeID; cls.ReserveInt32 = field.ReserveInt32; cls.ReserveChar64 = field.ReserveChar64; } if (null == OnRspQryTrade) { QueueData qd = new QueueData(); qd.Type = (int)ResponeType.OnRspQryTrade; qd.Type_String = Enum<XAPI.ResponeType>.ToString(ResponeType.OnRspQryTrade); qd.Sender = this; qd.Data1 = cls; qd.Data2 = size1; qd.Data3 = bIsLast; MessageQueue.Enqueue(qd); } else { OnRspQryTrade(this, ref cls, size1, bIsLast); } }
private void OnRspQryInvestorPosition_callback(object sender, ref PositionField position, int size1, bool bIsLast) { if (null == OnRspQryInvestorPosition) return; PositionField field = position; PositionClass cls = new PositionClass(); cls.InstrumentName = field.InstrumentName(); cls.Symbol = field.Symbol; cls.InstrumentID = field.InstrumentID; cls.ExchangeID = field.ExchangeID; cls.ClientID = field.ClientID; cls.AccountID = field.AccountID; cls.Side = (int)field.Side; cls.Side_String = Enum<XAPI.PositionSide>.ToString(field.Side); cls.HedgeFlag = (int)field.HedgeFlag; cls.HedgeFlag_String = Enum<XAPI.HedgeFlagType>.ToString(field.HedgeFlag); cls.Date = field.Date; cls.PositionCost = field.PositionCost; cls.Position = field.Position; cls.TodayPosition = field.TodayPosition; cls.HistoryPosition = field.HistoryPosition; cls.HistoryFrozen = field.HistoryFrozen; cls.TodayBSPosition = field.TodayBSPosition; cls.TodayBSFrozen = field.TodayBSFrozen; cls.TodayPRPosition = field.TodayPRPosition; cls.TodayPRFrozen = field.TodayPRFrozen; if (null == OnRspQryInvestorPosition) { QueueData qd = new QueueData(); qd.Type = (int)ResponeType.OnRspQryInvestorPosition; qd.Type_String = Enum<XAPI.ResponeType>.ToString(ResponeType.OnRspQryInvestorPosition); qd.Sender = this; qd.Data1 = cls; qd.Data2 = size1; qd.Data3 = bIsLast; MessageQueue.Enqueue(qd); } else { OnRspQryInvestorPosition(this, ref cls, size1, bIsLast); } }
private void OnRspQryTradingAccount_callback(object sender, ref AccountField account, int size1, bool bIsLast) { if (null == OnRspQryTradingAccount) return; AccountField field = account; AccountClass cls = new AccountClass(); cls.ClientID = field.ClientID; cls.AccountID = field.AccountID; cls.CurrencyID = field.CurrencyID; cls.PreBalance = field.PreBalance; cls.CurrMargin = field.CurrMargin; cls.CloseProfit = field.CloseProfit; cls.PositionProfit = field.PositionProfit; cls.Balance = field.Balance; cls.Available = field.Available; cls.Deposit = field.Deposit; cls.Withdraw = field.Withdraw; cls.WithdrawQuota = field.WithdrawQuota; cls.FrozenTransferFee = field.FrozenTransferFee; cls.FrozenStampTax = field.FrozenStampTax; cls.FrozenCommission = field.FrozenCommission; cls.FrozenCash = field.FrozenCash; cls.StampTax = field.StampTax; cls.Commission = field.Commission; cls.CashIn = field.CashIn; if (null == OnRspQryTradingAccount) { QueueData qd = new QueueData(); qd.Type = (int)ResponeType.OnRspQryTradingAccount; qd.Type_String = Enum<XAPI.ResponeType>.ToString(ResponeType.OnRspQryTradingAccount); qd.Sender = this; qd.Data1 = cls; qd.Data2 = size1; qd.Data3 = bIsLast; MessageQueue.Enqueue(qd); } else { OnRspQryTradingAccount(this, ref cls, size1, bIsLast); } }
private void OnRtnDepthMarketData_callback(object sender, ref XAPI.DepthMarketDataNClass marketData) { DepthMarketDataNClass cls = new DepthMarketDataNClass(); XAPI.DepthMarketDataNClass field = marketData; cls.TradingDay = field.TradingDay; cls.ActionDay = field.ActionDay; cls.UpdateTime = field.UpdateTime; cls.UpdateMillisec = field.UpdateMillisec; cls.Exchange = (int)field.Exchange; cls.Symbol = field.Symbol; cls.InstrumentID = field.InstrumentID; cls.ExchangeID = field.ExchangeID; cls.LastPrice = field.LastPrice; cls.Volume = field.Volume; cls.Turnover = field.Turnover; cls.OpenInterest = field.OpenInterest; cls.AveragePrice = field.AveragePrice; cls.OpenPrice = field.OpenPrice; cls.HighestPrice = field.HighestPrice; cls.LowestPrice = field.LowestPrice; cls.ClosePrice = field.ClosePrice; cls.SettlementPrice = field.SettlementPrice; cls.UpperLimitPrice = field.UpperLimitPrice; cls.LowerLimitPrice = field.LowerLimitPrice; cls.PreClosePrice = field.PreClosePrice; cls.PreSettlementPrice = field.PreSettlementPrice; cls.PreOpenInterest = field.PreOpenInterest; cls.TradingPhase = (int)field.TradingPhase; cls.TradingPhase_String = Enum<XAPI.TradingPhaseType>.ToString(field.TradingPhase); //cls.Bids = marketData.TradingDay; //cls.TradingDay = marketData.TradingDay; if (null == OnRtnDepthMarketData) { QueueData qd = new QueueData(); qd.Type = (int)ResponeType.OnRtnDepthMarketData; qd.Type_String = Enum<XAPI.ResponeType>.ToString(ResponeType.OnRtnDepthMarketData); qd.Sender = this; qd.Data1 = cls; MessageQueue.Enqueue(qd); } else { OnRtnDepthMarketData(this, ref cls); } }
private void OnRspQryInstrument_callback(object sender, ref InstrumentField instrument, int size1, bool bIsLast) { if (null == OnRspQryInstrument) return; InstrumentField field = instrument; InstrumentClass cls = new InstrumentClass(); cls.InstrumentName = field.InstrumentName(); cls.Symbol = field.Symbol; cls.InstrumentID = field.InstrumentID; cls.ExchangeID = field.ExchangeID; cls.ClientID = field.ClientID; cls.AccountID = field.AccountID; cls.ExchangeInstID = field.ExchangeInstID; cls.Type = (int)field.Type; cls.Type_String = Enum<XAPI.InstrumentType>.ToString(field.Type); cls.VolumeMultiple = field.VolumeMultiple; cls.PriceTick = field.PriceTick; cls.ExpireDate = field.ExpireDate; cls.StrikePrice = field.StrikePrice; cls.OptionsType = (int)field.OptionsType; cls.OptionsType_String = Enum<XAPI.PutCall>.ToString(field.OptionsType); cls.ProductID = field.ProductID; cls.UnderlyingInstrID = field.UnderlyingInstrID; cls.InstLifePhase = (int)field.InstLifePhase; cls.InstLifePhase_String = Enum<XAPI.InstLifePhaseType>.ToString(field.InstLifePhase); if (null == OnRspQryInstrument) { QueueData qd = new QueueData(); qd.Type = (int)ResponeType.OnRspQryInstrument; qd.Type_String = Enum<XAPI.ResponeType>.ToString(ResponeType.OnRspQryInstrument); qd.Sender = this; qd.Data1 = cls; qd.Data2 = size1; qd.Data3 = bIsLast; MessageQueue.Enqueue(qd); } else { OnRspQryInstrument(this, ref cls, size1, bIsLast); } }
private void OnRtnError_callback(object sender, [In] ref ErrorField error) { ErrorClass cls = null; cls = new ErrorClass(); ErrorField field = error; cls.XErrorID = field.XErrorID; cls.RawErrorID = field.RawErrorID; cls.Text = field.Text(); cls.Source = field.Source; if (null == OnRtnError) { QueueData qd = new QueueData(); qd.Type = (int)ResponeType.OnRtnError; qd.Type_String = Enum<XAPI.ResponeType>.ToString(ResponeType.OnRtnError); qd.Sender = this; qd.Data1 = cls; MessageQueue.Enqueue(qd); } else { OnRtnError(this, ref cls); } }
private void OnLog_callback(object sender, [In] ref LogField log) { LogClass cls = null; cls = new LogClass(); LogField field = log; cls.Level = (int)field.Level; cls.Level_String = Enum<XAPI.LogLevel>.ToString(field.Level); cls.Message = field.Message(); if (null == OnLog) { QueueData qd = new QueueData(); qd.Type = (int)ResponeType.OnLog; qd.Type_String = Enum<XAPI.ResponeType>.ToString(ResponeType.OnLog); qd.Sender = this; qd.Data1 = cls; MessageQueue.Enqueue(qd); } else { OnLog(this, ref cls); } }
private void OnRspQrySettlementInfo_callback(object sender, [In] ref XAPI.SettlementInfoClass settlementInfo, int size1, bool bIsLast) { if (null == OnRspQrySettlementInfo) return; XAPI.SettlementInfoClass field = settlementInfo; XAPI.COM.SettlementInfoClass cls = new XAPI.COM.SettlementInfoClass(); cls.TradingDay = field.TradingDay; cls.Content = field.Content; if (null == OnRspQrySettlementInfo) { QueueData qd = new QueueData(); qd.Type = (int)ResponseType.OnRspQrySettlementInfo; qd.Type_String = Enum<XAPI.ResponseType>.ToString(ResponseType.OnRspQrySettlementInfo); qd.Sender = this; qd.Data1 = cls; qd.Data2 = size1; qd.Data3 = bIsLast; MessageQueue.Enqueue(qd); } else { OnRspQrySettlementInfo(this, cls, size1, bIsLast); } }
private void OnConnectionStatus_callback(object sender, XAPI.ConnectionStatus status, ref RspUserLoginField userLogin, int size1) { RspUserLoginClass cls = null; if (size1 > 0) { cls = new RspUserLoginClass(); RspUserLoginField field = userLogin; cls.TradingDay = field.TradingDay; cls.LoginTime = field.LoginTime; cls.SessionID = field.SessionID; cls.UserID = field.UserID; cls.AccountID = field.AccountID; cls.InvestorName = field.InvestorName(); cls.XErrorID = field.XErrorID; cls.RawErrorID = field.RawErrorID; cls.Text = field.Text(); } if (null == OnConnectionStatus) { QueueData qd = new QueueData(); qd.Type = (int)ResponeType.OnConnectionStatus; qd.Type_String = Enum<XAPI.ResponeType>.ToString(ResponeType.OnConnectionStatus); qd.Sender = this; qd.Data1 = status; qd.Data2 = Enum<XAPI.ConnectionStatus>.ToString(status); qd.Data3 = cls; qd.Data4 = size1; MessageQueue.Enqueue(qd); } else { OnConnectionStatus(this, (int)status, Enum<XAPI.ConnectionStatus>.ToString(status), ref cls, size1); } }
private void OnRtnTrade_callback(object sender, [In] ref TradeField trade) { if (null == OnRtnTrade) return; TradeField field = trade; TradeClass cls = new TradeClass(); cls.InstrumentName = field.InstrumentName(); cls.Symbol = field.Symbol; cls.InstrumentID = field.InstrumentID; cls.ExchangeID = field.ExchangeID; cls.ClientID = field.ClientID; cls.AccountID = field.AccountID; cls.Side = (int)field.Side; cls.Side_String = Enum<XAPI.OrderSide>.ToString(field.Side); cls.Qty = field.Qty; cls.Price = field.Price; cls.OpenClose = (int)field.OpenClose; cls.OpenClose_String = Enum<XAPI.OpenCloseType>.ToString(field.OpenClose); cls.HedgeFlag = (int)field.HedgeFlag; cls.HedgeFlag_String = Enum<XAPI.HedgeFlagType>.ToString(field.HedgeFlag); cls.Date = field.Date; cls.Time = field.Time; cls.ID = field.ID; cls.TradeID = field.TradeID; cls.ReserveInt32 = field.ReserveInt32; cls.ReserveChar64 = field.ReserveChar64; cls.PortfolioID1 = field.PortfolioID1; cls.PortfolioID2 = field.PortfolioID2; cls.PortfolioID3 = field.PortfolioID3; cls.Business = (int)field.Business; cls.Business_String = Enum<XAPI.BusinessType>.ToString(field.Business); if (null == OnRtnTrade) { QueueData qd = new QueueData(); qd.Type = (int)ResponseType.OnRtnTrade; qd.Type_String = Enum<XAPI.ResponseType>.ToString(ResponseType.OnRtnTrade); qd.Sender = this; qd.Data1 = cls; MessageQueue.Enqueue(qd); } else { OnRtnTrade(this, cls); } }
private void OnRtnOrder_callback(object sender, [In] ref OrderField order) { OrderField field = order; OrderClass cls = new OrderClass(); cls.InstrumentName = field.InstrumentName(); cls.Symbol = field.Symbol; cls.InstrumentID = field.InstrumentID; cls.ExchangeID = field.ExchangeID; cls.ClientID = field.ClientID; cls.AccountID = field.AccountID; cls.Side = (int)field.Side; cls.Side_String = Enum<XAPI.OrderSide>.ToString(field.Side); cls.Qty = field.Qty; cls.Price = field.Price; cls.OpenClose = (int)field.OpenClose; cls.OpenClose_String = Enum<XAPI.OpenCloseType>.ToString(field.OpenClose); cls.HedgeFlag = (int)field.HedgeFlag; cls.HedgeFlag_String = Enum<XAPI.HedgeFlagType>.ToString(field.HedgeFlag); cls.Date = field.Date; cls.Time = field.Time; cls.ID = field.ID; cls.OrderID = field.OrderID; cls.LocalID = field.LocalID; cls.Type = (int)field.Type; cls.Type_String = Enum<XAPI.OrderType>.ToString(field.Type); cls.StopPx = field.StopPx; cls.TimeInForce = (int)field.TimeInForce; cls.TimeInForce_String = Enum<XAPI.TimeInForce>.ToString(field.TimeInForce); cls.Status = (int)field.Status; cls.Status_String = Enum<XAPI.OrderStatus>.ToString(field.Status); cls.ExecType = (int)field.ExecType; cls.ExecType_String = Enum<XAPI.ExecType>.ToString(field.ExecType); cls.LeavesQty = field.LeavesQty; cls.CumQty = field.CumQty; cls.AvgPx = field.AvgPx; cls.XErrorID = field.XErrorID; cls.RawErrorID = field.RawErrorID; cls.Text = field.Text(); cls.ReserveInt32 = field.ReserveInt32; cls.ReserveChar64 = field.ReserveChar64; cls.PortfolioID1 = field.PortfolioID1; cls.PortfolioID2 = field.PortfolioID2; cls.PortfolioID3 = field.PortfolioID3; cls.Business = (int)field.Business; cls.Business_String = Enum<XAPI.BusinessType>.ToString(field.Business); if (null == OnRtnOrder) { QueueData qd = new QueueData(); qd.Type = (int)ResponseType.OnRtnOrder; qd.Type_String = Enum<XAPI.ResponseType>.ToString(ResponseType.OnRtnOrder); qd.Sender = this; qd.Data1 = cls; MessageQueue.Enqueue(qd); } else { OnRtnOrder(this, cls); } }
private void OnRspQryTrade_callback(object sender, [In] ref TradeField trade, int size1, bool bIsLast) { if (null == OnRspQryTrade) { return; } TradeClass cls = new TradeClass(); if (size1 > 0) { TradeField field = trade; cls.InstrumentName = field.InstrumentName(); cls.Symbol = field.Symbol; cls.InstrumentID = field.InstrumentID; cls.ExchangeID = field.ExchangeID; cls.ClientID = field.ClientID; cls.AccountID = field.AccountID; cls.Side = (int)field.Side; cls.Side_String = Enum <XAPI.OrderSide> .ToString(field.Side); cls.Qty = field.Qty; cls.Price = field.Price; cls.OpenClose = (int)field.OpenClose; cls.OpenClose_String = Enum <XAPI.OpenCloseType> .ToString(field.OpenClose); cls.HedgeFlag = (int)field.HedgeFlag; cls.HedgeFlag_String = Enum <XAPI.HedgeFlagType> .ToString(field.HedgeFlag); cls.Date = field.Date; cls.Time = field.Time; cls.ID = field.ID; cls.TradeID = field.TradeID; cls.ReserveInt32 = field.ReserveInt32; cls.ReserveChar64 = field.ReserveChar64; cls.PortfolioID1 = field.PortfolioID1; cls.PortfolioID2 = field.PortfolioID2; cls.PortfolioID3 = field.PortfolioID3; cls.Business = (int)field.Business; cls.Business_String = Enum <XAPI.BusinessType> .ToString(field.Business); } if (null == OnRspQryTrade) { QueueData qd = new QueueData(); qd.Type = (int)ResponseType.OnRspQryTrade; qd.Type_String = Enum <XAPI.ResponseType> .ToString(ResponseType.OnRspQryTrade); qd.Sender = this; qd.Data1 = cls; qd.Data2 = size1; qd.Data3 = bIsLast; MessageQueue.Enqueue(qd); } else { OnRspQryTrade(this, cls, size1, bIsLast); } }
private void OnRspQryOrder_callback(object sender, [In] ref OrderField order, int size1, bool bIsLast) { if (null == OnRspQryOrder) { return; } OrderClass cls = new OrderClass(); if (size1 > 0) { OrderField field = order; cls.InstrumentName = field.InstrumentName(); cls.Symbol = field.Symbol; cls.InstrumentID = field.InstrumentID; cls.ExchangeID = field.ExchangeID; cls.ClientID = field.ClientID; cls.AccountID = field.AccountID; cls.Side = (int)field.Side; cls.Side_String = Enum <XAPI.OrderSide> .ToString(field.Side); cls.Qty = field.Qty; cls.Price = field.Price; cls.OpenClose = (int)field.OpenClose; cls.OpenClose_String = Enum <XAPI.OpenCloseType> .ToString(field.OpenClose); cls.HedgeFlag = (int)field.HedgeFlag; cls.HedgeFlag_String = Enum <XAPI.HedgeFlagType> .ToString(field.HedgeFlag); cls.Date = field.Date; cls.Time = field.Time; cls.ID = field.ID; cls.OrderID = field.OrderID; cls.LocalID = field.LocalID; cls.Type = (int)field.Type; cls.Type_String = Enum <XAPI.OrderType> .ToString(field.Type); cls.StopPx = field.StopPx; cls.TimeInForce = (int)field.TimeInForce; cls.TimeInForce_String = Enum <XAPI.TimeInForce> .ToString(field.TimeInForce); cls.Status = (int)field.Status; cls.Status_String = Enum <XAPI.OrderStatus> .ToString(field.Status); cls.ExecType = (int)field.ExecType; cls.ExecType_String = Enum <XAPI.ExecType> .ToString(field.ExecType); cls.LeavesQty = field.LeavesQty; cls.CumQty = field.CumQty; cls.AvgPx = field.AvgPx; cls.XErrorID = field.XErrorID; cls.RawErrorID = field.RawErrorID; cls.Text = field.Text(); cls.ReserveInt32 = field.ReserveInt32; cls.ReserveChar64 = field.ReserveChar64; cls.PortfolioID1 = field.PortfolioID1; cls.PortfolioID2 = field.PortfolioID2; cls.PortfolioID3 = field.PortfolioID3; cls.Business = (int)field.Business; cls.Business_String = Enum <XAPI.BusinessType> .ToString(field.Business); } if (null == OnRspQryOrder) { QueueData qd = new QueueData(); qd.Type = (int)ResponseType.OnRspQryOrder; qd.Type_String = Enum <XAPI.ResponseType> .ToString(ResponseType.OnRspQryOrder); qd.Sender = this; qd.Data1 = cls; qd.Data2 = size1; qd.Data3 = bIsLast; MessageQueue.Enqueue(qd); } else { OnRspQryOrder(this, cls, size1, bIsLast); } }
private void OnRspQryInvestorPosition_callback(object sender, [In] ref PositionField position, int size1, bool bIsLast) { if (null == OnRspQryInvestorPosition) { return; } PositionField field = position; PositionClass cls = new PositionClass(); cls.InstrumentName = field.InstrumentName(); cls.Symbol = field.Symbol; cls.InstrumentID = field.InstrumentID; cls.ExchangeID = field.ExchangeID; cls.ClientID = field.ClientID; cls.AccountID = field.AccountID; cls.Side = (int)field.Side; cls.Side_String = Enum <XAPI.PositionSide> .ToString(field.Side); cls.HedgeFlag = (int)field.HedgeFlag; cls.HedgeFlag_String = Enum <XAPI.HedgeFlagType> .ToString(field.HedgeFlag); cls.Date = field.Date; cls.PositionCost = field.PositionCost; cls.Position = field.Position; cls.TodayPosition = field.TodayPosition; cls.HistoryPosition = field.HistoryPosition; cls.HistoryFrozen = field.HistoryFrozen; cls.TodayBSPosition = field.TodayBSPosition; cls.TodayBSFrozen = field.TodayBSFrozen; cls.TodayPRPosition = field.TodayPRPosition; cls.TodayPRFrozen = field.TodayPRFrozen; cls.ID = field.ID; cls.PortfolioID1 = field.PortfolioID1; cls.PortfolioID2 = field.PortfolioID2; cls.PortfolioID3 = field.PortfolioID3; cls.Business = (int)field.Business; cls.Business_String = Enum <XAPI.BusinessType> .ToString(field.Business); if (null == OnRspQryInvestorPosition) { QueueData qd = new QueueData(); qd.Type = (int)ResponseType.OnRspQryInvestorPosition; qd.Type_String = Enum <XAPI.ResponseType> .ToString(ResponseType.OnRspQryInvestorPosition); qd.Sender = this; qd.Data1 = cls; qd.Data2 = size1; qd.Data3 = bIsLast; MessageQueue.Enqueue(qd); } else { OnRspQryInvestorPosition(this, cls, size1, bIsLast); } }