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;
            }
        }
Example #2
0
 public T GetMessage <T>()
     where T : class, IExtensible
 {
     return(HasData ? MessageParser.Deserialize <T>(Body) : null);
 }