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); }
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; } }