Ejemplo n.º 1
0
        protected virtual Task <Int32> FillAsync(DataSet dataSet, string srcTable, DbDataReader dataReader, int startRecord, int maxRecords, CancellationToken cancellationToken)
        {
            if (null == dataSet)
            {
                throw ADP.FillRequires("dataSet");
            }
            if (string.IsNullOrEmpty(srcTable))
            {
                throw ADP.FillRequiresSourceTableName("srcTable");
            }
            if (null == dataReader)
            {
                throw ADP.FillRequires("dataReader");
            }
            if (startRecord < 0)
            {
                throw ADP.InvalidStartRecord("startRecord", startRecord);
            }
            if (maxRecords < 0)
            {
                throw ADP.InvalidMaxRecords("maxRecords", maxRecords);
            }

            //

            if (dataReader.IsClosed)
            {
                return(Task.FromResult(0));
            }

            // user must Close/Dispose of the dataReader
            AdaDataReaderContainer readerHandler = AdaDataReaderContainer.Create(dataReader, useProviderSpecificDataReader: this.ReturnProviderSpecificTypes);

            return(this.FillFromReaderAsync(
                       dataset: dataSet,
                       datatable: null,
                       srcTable: srcTable,
                       dataReader: readerHandler,
                       startRecord: startRecord,
                       maxRecords: maxRecords,
                       parentChapterColumn: null,
                       parentChapterValue: null,
                       cancellationToken: cancellationToken
                       ));
        }
Ejemplo n.º 2
0
        Task <int> IAdaSchemaMappingAdapter.FillFromReaderAsync(DataSet dataset, DataTable datatable, string srcTable, AdaDataReaderContainer dataReader, int startRecord, int maxRecords, DataColumn parentChapterColumn, object parentChapterValue, CancellationToken cancellationToken)
        {
            Action <Exception, DataTable, Object[]> onFillError = this.GetCurrentFillErrorHandler();

            return(AsyncDataReaderMethods.FillFromReaderAsync(onFillError, this, dataset, datatable, srcTable, dataReader, startRecord, maxRecords, parentChapterColumn, parentChapterValue, cancellationToken));
        }
Ejemplo n.º 3
0
        private AdaSchemaMapping FillMapping(DataSet dataset, DataTable datatable, string srcTable, AdaDataReaderContainer dataReader, int schemaCount, DataColumn parentChapterColumn, object parentChapterValue)
        {
            Action <Exception, DataTable, Object[]> onFillError = this.GetCurrentFillErrorHandler();

            return(AsyncDataReaderMethods.FillMapping(onFillError, this, dataset, datatable, srcTable, dataReader, schemaCount, parentChapterColumn, parentChapterValue));
        }
Ejemplo n.º 4
0
        //

        internal Task <Int32> FillFromReaderAsync(DataSet dataset, DataTable datatable, string srcTable, AdaDataReaderContainer dataReader, int startRecord, int maxRecords, DataColumn parentChapterColumn, object parentChapterValue, CancellationToken cancellationToken)
        {
            return(AsyncDataReaderMethods.FillFromReaderAsync(
                       onFillError: null,
                       adapter: this,
                       dataset: dataset,
                       datatable: datatable,
                       srcTable: srcTable,
                       dataReader: dataReader,
                       startRecord: startRecord,
                       maxRecords: maxRecords,
                       parentChapterColumn: parentChapterColumn,
                       parentChapterValue: parentChapterValue,
                       cancellationToken: cancellationToken
                       ));
        }