Ejemplo n.º 1
0
 public DatabaseDataReader(string connStrName, ADataReaderParams readerParams, ACounterReader counterReader)
 {
     _params        = readerParams as DatabaseDataReaderParams;
     _counterReader = counterReader as CounterReader;
     CheckParams(_params);
     _container = new FieldsContainer();
     _db        = Database.OpenConnection(connStrName);
 }
Ejemplo n.º 2
0
        public static INotificationDataReader Prepare(ConfigManager.Models.Reader reader, ConfigManager.ConfigManager configManager)
        {
            var databaseDataReaderParams = new DatabaseDataReaderParams {
                LogicalStorage = reader.LogicalName, TableName = reader.AdditionalParams.TableName, InitialCounter = reader.InitialCounter, MessageTypeColumnName = reader.AdditionalParams.MessageTypeColumnName, ColumnsNames = reader.ColumnNames
            };
            var setCounterReader = new Reader(configManager, reader.ReaderId);

            return(new DatabaseDataReader.DatabaseDataReader(reader.ConnectionString, databaseDataReaderParams, setCounterReader));
        }
Ejemplo n.º 3
0
 private void CheckParams(DatabaseDataReaderParams p)
 {
     if (p == null)
     {
         throw new ArgumentNullException(nameof(p));
     }
     if (string.IsNullOrEmpty(p.TableName))
     {
         throw new ArgumentNullException($"{nameof(p.TableName)} is empty");
     }
     if (!p.ColumnsNames.Any())
     {
         throw new ArgumentException("Column doesn't exist!");
     }
 }
Ejemplo n.º 4
0
        public INotificationDataReader Prepare(ConfigManager.Models.Reader reader, ConfigManager.ConfigManager configManager)
        {
            var databaseDataReaderParams = new DatabaseDataReaderParams
            {
                LogicalStorage        = reader.LogicalName,
                Schema                = reader.ReaderAdditionalParams.Schema ?? "dbo",
                TableName             = reader.ReaderAdditionalParams.TableName,
                OrderByColumnName     = reader.ReaderAdditionalParams.OrderByColumnName,
                InitialCounter        = reader.InitialCounter,
                MessageTypeColumnName = reader.ReaderAdditionalParams.MessageTypeColumnName,
                ColumnsNames          = reader.ColumnNames
            };

            var setCounterReader = new CounterReader(configManager, reader.ReaderId);

            var notificationDataReaderDecorator = new NotificationDataReaderDecorator(
                new DatabaseDataReader.DatabaseDataReader(reader.ConnectionString, databaseDataReaderParams, setCounterReader), reader.ReaderId);

            return(notificationDataReaderDecorator);
        }