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)); }
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)); }