public DataProvider(string query, IDbConnection con, IBackupData backupData,
                            IDataFromDatabaseReader databaseReader, int chunkSize, int recordsOnScreen)
        {
            _chunkSize       = chunkSize;
            _recordsOnScreen = recordsOnScreen;
            _backupData      = backupData;
            _backupData.ClearBackup();
            _databaseAccess = databaseReader;
            var connection = (DbConnection)con;

            if (connection != null)
            {
                _databaseAccess.OpenConnection(connection, query);
            }
        }
        public DataProvider(SelectList list, IDbConnection con, IBackupData backupData,
                            IDataFromDatabaseReader databaseReader, int chunkSize, int recordsOnScreen, IStringParser parser)
        {
            string query = parser.Parse(list);

            _chunkSize       = chunkSize;
            _recordsOnScreen = recordsOnScreen;
            _backupData      = backupData;
            _backupData.ClearBackup();
            _databaseAccess = databaseReader;
            var connection = (DbConnection)con;

            if (connection != null)
            {
                _databaseAccess.OpenConnection(connection, query);
            }
        }