コード例 #1
0
        public bool FetchSubReportData(AspNetCore.ReportingServices.ReportIntermediateFormat.SubReport subReport, AspNetCore.ReportingServices.ReportIntermediateFormat.SubReportInstance subReportInstance)
        {
            AspNetCore.ReportingServices.ReportIntermediateFormat.ReportInstance reportInstance = subReportInstance.ReportInstance.Value();
            reportInstance.ResetReportVariables(subReport.OdpContext);
            bool flag;

            try
            {
                this.FetchData(reportInstance, subReport.MergeTransactions);
                if (subReport.OdpContext.ReprocessSnapshot && reportInstance.IsMissingExpectedDataChunk(subReport.OdpContext))
                {
                    flag = false;
                }
                else
                {
                    if (subReport.OdpContext.ReprocessSnapshot && !subReport.InDataRegion)
                    {
                        Merge.PreProcessTablixes(subReport.Report, subReport.OdpContext, false);
                    }
                    flag = true;
                }
            }
            catch (ProcessingAbortedException)
            {
                flag = false;
            }
            if (flag)
            {
                reportInstance.CalculateAndStoreReportVariables(subReport.OdpContext);
            }
            return(flag);
        }
コード例 #2
0
 public void FetchData(AspNetCore.ReportingServices.ReportIntermediateFormat.ReportInstance reportInstance, bool mergeTransaction)
 {
     if (this.m_odpContext.ProcessWithCachedData)
     {
         if (!reportInstance.IsMissingExpectedDataChunk(this.m_odpContext))
         {
             return;
         }
         throw new AspNetCore.ReportingServices.ReportProcessing.ReportProcessing.DataCacheUnavailableException();
     }
     if (!this.m_odpContext.SnapshotProcessing)
     {
         if (this.m_odpContext.InSubreport)
         {
             this.m_odpContext.CreateAndSetupDataExtensionFunction.DataSetRetrieveForReportInstance(this.m_odpContext.ReportContext, this.m_parameters);
         }
         if (!this.m_retrievalManager.PrefetchData(reportInstance, this.m_parameters, mergeTransaction))
         {
             throw new ProcessingAbortedException();
         }
         reportInstance.NoRows = this.m_retrievalManager.NoRows;
     }
 }