private bool FetchSharedDataSetCached() { Microsoft.ReportingServices.ReportIntermediateFormat.DataSet dataSet = new Microsoft.ReportingServices.ReportIntermediateFormat.DataSet(m_dataSetDefinition.DataSetCore); ProcessingDataReader processingDataReader = new ProcessingDataReader(new DataSetInstance(dataSet), dataSet, m_odpContext, overrideWithSharedDataSetChunkSettings: true); IRowConsumer consumerRequest = m_odpContext.ExternalDataSetContext.ConsumerRequest; consumerRequest.SetProcessingDataReader(processingDataReader); long num = 0L; try { while (processingDataReader.GetNextRow()) { Microsoft.ReportingServices.ReportIntermediateFormat.RecordRow underlyingRecordRowObject = processingDataReader.GetUnderlyingRecordRowObject(); consumerRequest.NextRow(underlyingRecordRowObject); num++; } } finally { if (m_odpContext.JobContext != null) { lock (m_odpContext.JobContext.SyncRoot) { m_odpContext.JobContext.RowCount += num; } } } return(true); }
private bool FetchSharedDataSetCached() { AspNetCore.ReportingServices.ReportIntermediateFormat.DataSet dataSet = new AspNetCore.ReportingServices.ReportIntermediateFormat.DataSet(this.m_dataSetDefinition.DataSetCore); DataSetInstance dataSetInstance = new DataSetInstance(dataSet); ProcessingDataReader processingDataReader = new ProcessingDataReader(dataSetInstance, dataSet, this.m_odpContext, true); IRowConsumer consumerRequest = this.m_odpContext.ExternalDataSetContext.ConsumerRequest; consumerRequest.SetProcessingDataReader(processingDataReader); long num = 0L; try { while (processingDataReader.GetNextRow()) { AspNetCore.ReportingServices.ReportIntermediateFormat.RecordRow underlyingRecordRowObject = processingDataReader.GetUnderlyingRecordRowObject(); consumerRequest.NextRow(underlyingRecordRowObject); num++; } } finally { if (this.m_odpContext.JobContext != null) { lock (this.m_odpContext.JobContext.SyncRoot) { this.m_odpContext.JobContext.RowCount += num; } } } return(true); }
public override void PostFilterNextRow() { if (m_mustEvaluateThroughReportObjectModel) { m_currentRow = new Microsoft.ReportingServices.ReportIntermediateFormat.RecordRow(m_odpContext.ReportObjectModel.FieldsImpl, m_dataSet.DataSetCore.Fields.Count, m_dataSetInstance.FieldInfos); } if (WritesDataChunk) { m_dataChunkWriter.WriteRecordRow(m_currentRow); } if (m_consumerRequest != null) { m_consumerRequest.NextRow(m_currentRow); } }