protected override void Init()
        {
            this.application = (QuickFIX42Application)this.CreateApplicationInstance();
            Dictionary dictionary = new Dictionary();

            dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(2820), BeAEwTZGlZaeOmY5cm.J00weU3cM6(2852));
            dictionary.setLong(BeAEwTZGlZaeOmY5cm.J00weU3cM6(2874), this.HeartBtInt);
            dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(2898), this.StartTime.ToString());
            dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(2920), this.EndTime.ToString());
            dictionary.setLong(BeAEwTZGlZaeOmY5cm.J00weU3cM6(2938), this.ReconnectInterval);
            dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(2976), this.BeginString);
            dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3002), this.DataDictionary);
            dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3034), this.FileStorePath);
            dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3064), this.FileLogPath);
            dictionary.setBool(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3090), this.CheckLatency);
            dictionary.setLong(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3118), this.MaxLatency);
            dictionary.setBool(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3142), this.SendRedundantResendRequests);
            dictionary.setBool(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3200), this.ResetOnLogout);
            dictionary.setBool(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3230), this.ResetOnDisconnect);
            dictionary.setBool(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3268), this.RefreshOnLogon);
            dictionary.setBool(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3300), this.TcpNoDelay);
            this.OnDefaultsSessionSettingsCreated(dictionary);
            Dictionary settings1 = (Dictionary)null;

            if (this.PriceSessionEnabled)
            {
                settings1 = new Dictionary();
                settings1.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3330), this.PriceSocketConnectHost);
                settings1.setLong(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3368), this.PriceSocketConnectPort);
                settings1.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3406), this.PriceFileStorePath);
                this.OnPriceSessionSettingsCreated(settings1);
            }
            Dictionary settings2 = (Dictionary)null;

            if (this.OrderSessionEnabled)
            {
                settings2 = new Dictionary();
                settings2.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3436), this.OrderSocketConnectHost);
                settings2.setLong(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3474), this.OrderSocketConnectPort);
                settings2.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3512), this.OrderFileStorePath);
                this.OnOrderSessionSettingsCreated(settings2);
            }
            SessionID sessionID1 = this.PriceSessionEnabled ? new SessionID(this.BeginString, this.PriceSenderCompID, this.PriceTargetCompID) : (SessionID)null;
            SessionID sessionID2 = this.OrderSessionEnabled ? new SessionID(this.BeginString, this.OrderSenderCompID, this.OrderTargetCompID) : (SessionID)null;

            this.sessionSettings = new SessionSettings();
            this.sessionSettings.set(dictionary);
            if (this.PriceSessionEnabled)
            {
                this.sessionSettings.set(sessionID1, settings1);
            }
            if (this.OrderSessionEnabled)
            {
                this.sessionSettings.set(sessionID2, settings2);
            }
            this.storeFactory   = (MessageStoreFactory) new FileStoreFactory(this.sessionSettings);
            this.logFactory     = (LogFactory) new FileLogFactory(this.sessionSettings);
            this.messageFactory = (MessageFactory) new DefaultMessageFactory();
            (this.application as QuickFIX42CommonApplication).adf1ZbrcY(sessionID1, sessionID2);
        }
示例#2
0
 public virtual void SendOrderCancelReplaceRequest(FreeQuant.FIX.OrderCancelReplaceRequest request)
 {
     if (this.IsConnected)
     {
         this.application.Send(request);
     }
     else
     {
         OrderCancelReject reject = new OrderCancelReject();
         reject.TransactTime     = Clock.Now;
         reject.OrigClOrdID      = request.OrigClOrdID;
         reject.ClOrdID          = reject.OrigClOrdID;
         reject.CxlRejResponseTo = SmartQuant.FIX.CxlRejResponseTo.CancelReplaceRequest;
         reject.CxlRejReason     = SmartQuant.FIX.CxlRejReason.BrokerOption;
         reject.OrdStatus        = SmartQuant.FIX.OrdStatus.Undefined;
         reject.Text             = BeAEwTZGlZaeOmY5cm.J00weU3cM6(2480);
         if (this.B02KF0Hm96 != null)
         {
             this.B02KF0Hm96((object)this, new OrderCancelRejectEventArgs(reject));
         }
         if (this.e4HAgJhCB == null)
         {
             return;
         }
         this.e4HAgJhCB(new ProviderErrorEventArgs((IProvider)this, -1, -1, BeAEwTZGlZaeOmY5cm.J00weU3cM6(2534)));
     }
 }
 protected QuickFIX42CommonProvider() : base()
 {
     this.HeartBtInt                  = 20;
     this.StartTime                   = TimeSpan.Parse(BeAEwTZGlZaeOmY5cm.J00weU3cM6(2724));
     this.EndTime                     = TimeSpan.Parse(BeAEwTZGlZaeOmY5cm.J00weU3cM6(2730));
     this.ReconnectInterval           = 30;
     this.BeginString                 = BeAEwTZGlZaeOmY5cm.J00weU3cM6(2736);
     this.DataDictionary              = BeAEwTZGlZaeOmY5cm.J00weU3cM6(2754);
     this.FileStorePath               = "";
     this.FileLogPath                 = "";
     this.CheckLatency                = false;
     this.MaxLatency                  = 120;
     this.ResetOnLogout               = false;
     this.ResetOnDisconnect           = false;
     this.RefreshOnLogon              = false;
     this.SendRedundantResendRequests = false;
     this.PriceSessionEnabled         = true;
     this.PriceSenderCompID           = "";
     this.PriceTargetCompID           = "";
     this.PriceSocketConnectHost      = BeAEwTZGlZaeOmY5cm.J00weU3cM6(2776);
     this.PriceSocketConnectPort      = 0;
     this.PriceFileStorePath          = "";
     this.OrderSessionEnabled         = true;
     this.OrderSenderCompID           = "";
     this.OrderTargetCompID           = "";
     this.OrderSocketConnectHost      = BeAEwTZGlZaeOmY5cm.J00weU3cM6(2798);
     this.OrderSocketConnectPort      = 0;
     this.OrderFileStorePath          = "";
 }
 protected QuickFIX43CommonProvider() : base()
 {
     this.HeartBtInt             = 20;
     this.StartTime              = TimeSpan.Parse(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4586));
     this.EndTime                = TimeSpan.Parse(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4592));
     this.ReconnectInterval      = 30;
     this.BeginString            = BeAEwTZGlZaeOmY5cm.J00weU3cM6(4598);
     this.DataDictionary         = BeAEwTZGlZaeOmY5cm.J00weU3cM6(4616);
     this.FileStorePath          = "";
     this.FileLogPath            = "";
     this.CheckLatency           = false;
     this.MaxLatency             = 120;
     this.ResetOnLogout          = false;
     this.ResetOnDisconnect      = false;
     this.PriceSessionEnabled    = true;
     this.PriceSenderCompID      = "";
     this.PriceTargetCompID      = "";
     this.PriceSocketConnectHost = BeAEwTZGlZaeOmY5cm.J00weU3cM6(4638);
     this.PriceSocketConnectPort = 0;
     this.PriceFileStorePath     = "";
     this.OrderSessionEnabled    = true;
     this.OrderSenderCompID      = "";
     this.OrderTargetCompID      = "";
     this.OrderSocketConnectHost = BeAEwTZGlZaeOmY5cm.J00weU3cM6(4660);
     this.OrderSocketConnectPort = 0;
     this.OrderFileStorePath     = "";
 }
示例#5
0
 public virtual void SendOrderCancelReplaceRequest(OrderCancelReplaceRequest request)
 {
     if (this.IsConnected)
     {
         this.application.Send((FIXOrderCancelReplaceRequest)request);
     }
     else
     {
         OrderCancelReject reject = new OrderCancelReject();
         reject.TransactTime     = Clock.Now;
         reject.OrigClOrdID      = request.OrigClOrdID;
         reject.ClOrdID          = reject.OrigClOrdID;
         reject.CxlRejResponseTo = FreeQuant.FIX.CxlRejResponseTo.CancelReplaceRequest;
         reject.CxlRejReason     = FreeQuant.FIX.CxlRejReason.BrokerOption;
         reject.OrdStatus        = FreeQuant.FIX.OrdStatus.Undefined;
         reject.Text             = BeAEwTZGlZaeOmY5cm.J00weU3cM6(4342);
         if (this.GZq4XSlmZH != null)
         {
             this.GZq4XSlmZH((object)this, new OrderCancelRejectEventArgs(reject));
         }
         if (this.j4t4Wyi2Ea == null)
         {
             return;
         }
         this.j4t4Wyi2Ea(new ProviderErrorEventArgs((IProvider)this, -1, -1, BeAEwTZGlZaeOmY5cm.J00weU3cM6(4396)));
     }
 }
示例#6
0
 protected virtual void Init()
 {
     this.application     = new QuickFIX42Application();
     this.sessionSettings = new SessionSettings(BeAEwTZGlZaeOmY5cm.J00weU3cM6(1776));
     this.storeFactory    = (MessageStoreFactory) new FileStoreFactory(this.sessionSettings);
     this.logFactory      = (LogFactory) new FileLogFactory(this.sessionSettings);
     this.messageFactory  = (MessageFactory) new DefaultMessageFactory();
 }
        protected override void Init()
        {
            this.application = (QuickFIX43Application)this.CreateApplicationInstance();
            Dictionary dictionary = new Dictionary();

            dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4682), BeAEwTZGlZaeOmY5cm.J00weU3cM6(4714));
            dictionary.setLong(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4736), this.HeartBtInt);
            dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4760), this.StartTime.ToString());
            dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4782), this.EndTime.ToString());
            dictionary.setLong(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4800), this.ReconnectInterval);
            dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4838), this.BeginString);
            dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4864), this.DataDictionary);
            dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4896), this.FileStorePath);
            dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4926), this.FileLogPath);
            dictionary.setBool(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4952), this.CheckLatency);
            dictionary.setLong(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4980), this.MaxLatency);
            dictionary.setBool(BeAEwTZGlZaeOmY5cm.J00weU3cM6(5004), this.ResetOnLogout);
            dictionary.setBool(BeAEwTZGlZaeOmY5cm.J00weU3cM6(5034), this.ResetOnDisconnect);
            this.OnDefaultsSessionSettingsCreated(dictionary);
            Dictionary settings1 = (Dictionary)null;

            if (this.PriceSessionEnabled)
            {
                settings1 = new Dictionary();
                settings1.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(5072), this.PriceSocketConnectHost);
                settings1.setLong(BeAEwTZGlZaeOmY5cm.J00weU3cM6(5110), this.PriceSocketConnectPort);
                settings1.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(5148), this.PriceFileStorePath);
                this.OnPriceSessionSettingsCreated(settings1);
            }
            Dictionary settings2 = (Dictionary)null;

            if (this.OrderSessionEnabled)
            {
                settings2 = new Dictionary();
                settings2.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(5178), this.OrderSocketConnectHost);
                settings2.setLong(BeAEwTZGlZaeOmY5cm.J00weU3cM6(5216), this.OrderSocketConnectPort);
                settings2.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(5254), this.OrderFileStorePath);
                this.OnOrderSessionSettingsCreated(settings2);
            }
            SessionID sessionID1 = this.PriceSessionEnabled ? new SessionID(this.BeginString, this.PriceSenderCompID, this.PriceTargetCompID) : (SessionID)null;
            SessionID sessionID2 = this.OrderSessionEnabled ? new SessionID(this.BeginString, this.OrderSenderCompID, this.OrderTargetCompID) : (SessionID)null;

            this.sessionSettings = new SessionSettings();
            this.sessionSettings.set(dictionary);
            if (this.PriceSessionEnabled)
            {
                this.sessionSettings.set(sessionID1, settings1);
            }
            if (this.OrderSessionEnabled)
            {
                this.sessionSettings.set(sessionID2, settings2);
            }
            this.storeFactory   = (MessageStoreFactory) new FileStoreFactory(this.sessionSettings);
            this.logFactory     = (LogFactory) new FileLogFactory(this.sessionSettings);
            this.messageFactory = (MessageFactory) new DefaultMessageFactory();
            (this.application as QuickFIX43CommonApplication).zWmEpDbll(sessionID1, sessionID2);
        }
示例#8
0
        public virtual void SendMarketDataRequest(FIXMarketDataRequest request)
        {
            if (this.IsConnected)
            {
                switch (request.SubscriptionRequestType)
                {
                case '1':
                    string        str1 = this.agD49enOqk(request.GetRelatedSymGroup(0));
                    RequestRecord requestRecord1;
                    if (str1 == null)
                    {
                        ++this.mdReqCount;
                        string str2 = string.Format(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3836), (object)Clock.Now, (object)this.mdReqCount);
                        request.MDReqID = str2;
                        requestRecord1  = new RequestRecord(request.GetRelatedSymGroup(0).Symbol, request);
                        this.mdRequests.Add((object)str2, (object)requestRecord1);
                        this.application.Send(request);
                    }
                    else
                    {
                        requestRecord1 = this.mdRequests[(object)str1] as RequestRecord;
                    }
                    ++requestRecord1.RequestCount;
                    break;

                case '2':
                    string str3 = this.agD49enOqk(request.GetRelatedSymGroup(0));
                    if (str3 == null)
                    {
                        break;
                    }
                    RequestRecord requestRecord2 = this.mdRequests[(object)str3] as RequestRecord;
                    --requestRecord2.RequestCount;
                    if (requestRecord2.RequestCount != 0)
                    {
                        break;
                    }
                    request.MDReqID = str3;
                    this.application.Send(request);
                    this.mdRequests.Remove((object)str3);
                    break;
                }
            }
            else
            {
                if (this.j4t4Wyi2Ea == null)
                {
                    return;
                }
                this.j4t4Wyi2Ea(new ProviderErrorEventArgs((IProvider)this, -1, -1, BeAEwTZGlZaeOmY5cm.J00weU3cM6(3894)));
            }
        }
示例#9
0
 public virtual void SendSecurityDefinitionRequest(FIXSecurityDefinitionRequest request)
 {
     if (this.IsConnected)
     {
         this.application.Send(request);
     }
     else
     {
         if (this.j4t4Wyi2Ea == null)
         {
             return;
         }
         this.j4t4Wyi2Ea(new ProviderErrorEventArgs((IProvider)this, -1, -1, BeAEwTZGlZaeOmY5cm.J00weU3cM6(3698)));
     }
 }
示例#10
0
 public virtual void SendNewOrderSingle(NewOrderSingle order)
 {
     if (this.IsConnected)
     {
         this.application.Send((FIXNewOrderSingle)order);
     }
     else
     {
         ExecutionReport report = new ExecutionReport();
         report.TransactTime     = Clock.Now;
         report.ClOrdID          = order.ClOrdID;
         report.ExecType         = FreeQuant.FIX.ExecType.Rejected;
         report.OrdStatus        = FreeQuant.FIX.OrdStatus.Rejected;
         report.Symbol           = order.Symbol;
         report.SecurityType     = order.SecurityType;
         report.SecurityExchange = order.SecurityExchange;
         report.Currency         = order.Currency;
         report.Side             = order.Side;
         report.OrdType          = order.OrdType;
         report.TimeInForce      = order.TimeInForce;
         report.OrderQty         = order.OrderQty;
         report.Price            = order.Price;
         report.StopPx           = order.StopPx;
         report.LastPx           = 0.0;
         report.LastQty          = 0.0;
         report.AvgPx            = 0.0;
         report.CumQty           = 0.0;
         report.LeavesQty        = order.OrderQty;
         report.Text             = BeAEwTZGlZaeOmY5cm.J00weU3cM6(4016);
         if (this.q8X4lYTN4C != null)
         {
             this.q8X4lYTN4C((object)this, new ExecutionReportEventArgs(report));
         }
         if (this.j4t4Wyi2Ea == null)
         {
             return;
         }
         this.j4t4Wyi2Ea(new ProviderErrorEventArgs((IProvider)this, -1, -1, BeAEwTZGlZaeOmY5cm.J00weU3cM6(4070)));
     }
 }
示例#11
0
        public void onMessage(QuickFix.FIX42.TradingSessionStatus message, SessionID sessionID)
        {
            List <string> list = new List <string>();

            list.Add(BeAEwTZGlZaeOmY5cm.J00weU3cM6(1532));
            if (this.SessionEquals(sessionID, this.priceSessionID))
            {
                list.Add(BeAEwTZGlZaeOmY5cm.J00weU3cM6(1578));
            }
            if (this.SessionEquals(sessionID, this.orderSessionID))
            {
                list.Add(BeAEwTZGlZaeOmY5cm.J00weU3cM6(1592));
            }
            if (message.isSetTradSesStatus())
            {
                int num = message.getTradSesStatus().getValue();
                list.Add(string.Format(BeAEwTZGlZaeOmY5cm.J00weU3cM6(1606), (object)num, (object)FIXTradSesStatus.ToString(num)));
            }
            if (message.isSetText())
            {
                list.Add(string.Format(BeAEwTZGlZaeOmY5cm.J00weU3cM6(1654), (object)message.getText().getValue()));
            }
            this.provider.EmitError(string.Join(BeAEwTZGlZaeOmY5cm.J00weU3cM6(1674), (IEnumerable <string>)list));
        }
 public void onMessage(QuickFix.FIX43.BusinessMessageReject message, SessionID sessionID)
 {
     this.provider.EmitError(message.isSetText() ? message.getText().getValue() : BeAEwTZGlZaeOmY5cm.J00weU3cM6(702));
 }
 public void onMessage(QuickFix.FIX43.Reject message, SessionID session)
 {
     this.provider.EmitError(string.Format(BeAEwTZGlZaeOmY5cm.J00weU3cM6(676), (object)message.ToString()));
 }
        new public void onMessage(QuickFix.FIX43.MarketDataRequestReject reject, SessionID sessionID)
        {
            string str = reject.isSetText() ? reject.getText().getValue() : "";

            this.provider.EmitError(string.Format(BeAEwTZGlZaeOmY5cm.J00weU3cM6(582), (object)reject.getMDReqID().getValue(), (object)str));
        }
示例#15
0
        private void ST74ZxO7ZP([In] object obj0, [In] FIXMarketDataSnapshotEventArgs obj1)
        {
            Console.WriteLine(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4536));
            FIXMarketDataSnapshot snapshotFullRefresh = obj1.MarketDataSnapshotFullRefresh;
            Instrument            instrument          = InstrumentManager.Instruments[(this.mdRequests[(object)snapshotFullRefresh.MDReqID] as RequestRecord).Symbol];
            Trade trade = this.OEp4ErKILr[(object)instrument] as Trade;
            Quote quote = this.Hmv4SHEnBE[(object)instrument] as Quote;

            if (trade == null)
            {
                trade = new Trade();
                this.OEp4ErKILr[(object)instrument] = (object)trade;
            }
            if (quote == null)
            {
                quote = new Quote();
                this.Hmv4SHEnBE[(object)instrument] = (object)quote;
            }
            bool flag1 = false;
            bool flag2 = false;

            for (int i = 0; i < snapshotFullRefresh.NoMDEntries; ++i)
            {
                FIXMDEntriesGroup mdEntriesGroup = snapshotFullRefresh.GetMDEntriesGroup(i);
                switch (mdEntriesGroup.MDEntryType)
                {
                case '0':
                    if (quote.Bid != mdEntriesGroup.MDEntryPx || quote.BidSize != (int)mdEntriesGroup.MDEntrySize)
                    {
                        quote.DateTime = Clock.Now;
                        quote.Bid      = mdEntriesGroup.MDEntryPx;
                        quote.BidSize  = (int)mdEntriesGroup.MDEntrySize;
                        flag2          = true;
                        break;
                    }
                    else
                    {
                        break;
                    }

                case '1':
                    if (quote.Ask != mdEntriesGroup.MDEntryPx || quote.AskSize != (int)mdEntriesGroup.MDEntrySize)
                    {
                        quote.DateTime = Clock.Now;
                        quote.Ask      = mdEntriesGroup.MDEntryPx;
                        quote.AskSize  = (int)mdEntriesGroup.MDEntrySize;
                        flag2          = true;
                        break;
                    }
                    else
                    {
                        break;
                    }

                case '2':
                    if (trade.Price != mdEntriesGroup.MDEntryPx || trade.Size != (int)mdEntriesGroup.MDEntrySize)
                    {
                        trade.DateTime = Clock.Now;
                        trade.Price    = mdEntriesGroup.MDEntryPx;
                        trade.Size     = (int)mdEntriesGroup.MDEntrySize;
                        flag1          = true;
                        break;
                    }
                    else
                    {
                        break;
                    }
                }
            }
            if (flag1 && this.odL46gHXsq != null)
            {
                this.odL46gHXsq((object)this, new TradeEventArgs(new Trade(trade), (IFIXInstrument)instrument, (IMarketDataProvider)this));
            }
            if (flag2 && this.uQX4e0V1fj != null)
            {
                this.uQX4e0V1fj((object)this, new QuoteEventArgs(new Quote(quote), (IFIXInstrument)instrument, (IMarketDataProvider)this));
            }
            if (this.oSc4rhuvbm == null)
            {
                return;
            }
            this.oSc4rhuvbm((object)this, new MarketDataSnapshotEventArgs(obj1.MarketDataSnapshotFullRefresh));
        }
示例#16
0
        private void hvUXgZCyf([In] object obj0, [In] FIXMarketDataSnapshotEventArgs obj1)
        {
            Console.WriteLine(BeAEwTZGlZaeOmY5cm.J00weU3cM6(2674));
            FIXMarketDataSnapshot snapshotFullRefresh = obj1.MarketDataSnapshotFullRefresh;
            Instrument            instrument          = InstrumentManager.Instruments[(this.mdRequests[(object)snapshotFullRefresh.MDReqID] as RequestRecord).Symbol];
            Trade trade = this.nWHTWovCn[(object)instrument] as Trade;
            Quote quote = this.ojqxnwuNv[(object)instrument] as Quote;

            if (trade == null)
            {
                trade = new Trade();
                this.nWHTWovCn[(object)instrument] = (object)trade;
            }
            if (quote == null)
            {
                quote = new Quote();
                this.ojqxnwuNv[(object)instrument] = (object)quote;
            }
            bool flag1 = false;
            bool flag2 = false;

            for (int i = 0; i < snapshotFullRefresh.NoMDEntries; ++i)
            {
                FIXMDEntriesGroup mdEntriesGroup = snapshotFullRefresh.GetMDEntriesGroup(i);
                switch (mdEntriesGroup.MDEntryType)
                {
                case '0':
                    if (quote.Bid != mdEntriesGroup.MDEntryPx || quote.BidSize != (int)mdEntriesGroup.MDEntrySize)
                    {
                        quote.DateTime = Clock.Now;
                        quote.Bid      = mdEntriesGroup.MDEntryPx;
                        quote.BidSize  = (int)mdEntriesGroup.MDEntrySize;
                        flag2          = true;
                        break;
                    }
                    else
                    {
                        break;
                    }

                case '1':
                    if (quote.Ask != mdEntriesGroup.MDEntryPx || quote.AskSize != (int)mdEntriesGroup.MDEntrySize)
                    {
                        quote.DateTime = Clock.Now;
                        quote.Ask      = mdEntriesGroup.MDEntryPx;
                        quote.AskSize  = (int)mdEntriesGroup.MDEntrySize;
                        flag2          = true;
                        break;
                    }
                    else
                    {
                        break;
                    }

                case '2':
                    if (trade.Price != mdEntriesGroup.MDEntryPx || trade.Size != (int)mdEntriesGroup.MDEntrySize)
                    {
                        trade.DateTime = Clock.Now;
                        trade.Price    = mdEntriesGroup.MDEntryPx;
                        trade.Size     = (int)mdEntriesGroup.MDEntrySize;
                        flag1          = true;
                        break;
                    }
                    else
                    {
                        break;
                    }
                }
            }
            if (flag1 && this.afmKM6OC6L != null)
            {
                this.afmKM6OC6L((object)this, new TradeEventArgs(new Trade(trade), (IFIXInstrument)instrument, (IMarketDataProvider)this));
            }
            if (flag2 && this.C1azfVlsV != null)
            {
                this.C1azfVlsV((object)this, new QuoteEventArgs(new Quote(quote), (IFIXInstrument)instrument, (IMarketDataProvider)this));
            }
            if (this.yT3KaHE6As == null)
            {
                return;
            }
            this.yT3KaHE6As((object)this, new MarketDataSnapshotEventArgs(obj1.MarketDataSnapshotFullRefresh));
        }