private void ProcessRow(SpimexAdapter.FTE.RowChange row) { switch (row.tabId) { case SpimexAdapter.FTE.Table.PARTICIPANTS: OnInfoParticipant?.Invoke(MessageParser.Deserialize <SpimexAdapter.FTE.InfoParticipant>(row.rowData)); break; case SpimexAdapter.FTE.Table.USERS: OnInfoUser?.Invoke(MessageParser.Deserialize <SpimexAdapter.FTE.InfoUser>(row.rowData)); break; case SpimexAdapter.FTE.Table.CLIENTS: OnInfoClient?.Invoke(MessageParser.Deserialize <SpimexAdapter.FTE.InfoClient>(row.rowData)); break; case SpimexAdapter.FTE.Table.ACCOUNTS: OnInfoAccount?.Invoke(MessageParser.Deserialize <SpimexAdapter.FTE.InfoAccount>(row.rowData)); break; case SpimexAdapter.FTE.Table.SECTIONS: OnInfoSection?.Invoke(MessageParser.Deserialize <SpimexAdapter.FTE.InfoSection>(row.rowData)); break; case SpimexAdapter.FTE.Table.BOARDS: OnInfoBoard?.Invoke(MessageParser.Deserialize <SpimexAdapter.FTE.InfoBoard>(row.rowData)); break; case SpimexAdapter.FTE.Table.SECTYPES: OnInfoSectype?.Invoke(MessageParser.Deserialize <SpimexAdapter.FTE.InfoSectype>(row.rowData)); break; case SpimexAdapter.FTE.Table.SECURITIES: OnInfoSecurity?.Invoke(MessageParser.Deserialize <SpimexAdapter.FTE.InfoSecurity>(row.rowData)); break; case SpimexAdapter.FTE.Table.SECBOARDS: OnInfoSecboard?.Invoke(MessageParser.Deserialize <SpimexAdapter.FTE.InfoSecboard>(row.rowData)); break; case SpimexAdapter.FTE.Table.HOLDINGS: OnInfoHolding?.Invoke(MessageParser.Deserialize <SpimexAdapter.FTE.InfoHolding>(row.rowData)); break; case SpimexAdapter.FTE.Table.ORDERS: OnInfoOrder?.Invoke(MessageParser.Deserialize <SpimexAdapter.FTE.InfoOrder>(row.rowData)); break; case SpimexAdapter.FTE.Table.TRADES: OnInfoTrade?.Invoke(MessageParser.Deserialize <SpimexAdapter.FTE.InfoTrade>(row.rowData)); break; case SpimexAdapter.FTE.Table.EVENTS: OnInfoEvent?.Invoke(MessageParser.Deserialize <SpimexAdapter.FTE.InfoEvent>(row.rowData)); break; case SpimexAdapter.FTE.Table.STATIONS: OnInfoStation?.Invoke(MessageParser.Deserialize <SpimexAdapter.FTE.InfoStation>(row.rowData)); break; case SpimexAdapter.FTE.Table.DELIVERYBASIS: OnInfoDeliveryBasis?.Invoke(MessageParser.Deserialize <SpimexAdapter.FTE.InfoDeliveryBasis>(row.rowData)); break; case SpimexAdapter.FTE.Table.CURRENCIES: OnInfoCurrency?.Invoke(MessageParser.Deserialize <SpimexAdapter.FTE.InfoCurrency>(row.rowData)); break; default: return; } }
public T GetMessage <T>() where T : class, IExtensible { return(HasData ? MessageParser.Deserialize <T>(Body) : null); }