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);
        }
Пример #2
0
        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);
     }
 }