protected override void PreProcessSnapshot(OnDemandProcessingContext odpContext, Merge odpMerge, AspNetCore.ReportingServices.ReportIntermediateFormat.ReportInstance reportInstance, AspNetCore.ReportingServices.ReportIntermediateFormat.ReportSnapshot reportSnapshot) { if (base.ReportDefinition.HasSubReports) { ReportProcessing.FetchSubReports(base.ReportDefinition, odpContext.ChunkFactory, odpContext.ErrorContext, odpContext.OdpMetadata, odpContext.ReportContext, odpContext.SubReportCallback, 0, odpContext.SnapshotProcessing, odpContext.ProcessWithCachedData, base.GlobalIDOwnerCollection, base.PublicProcessingContext.QueryParameters); SubReportInitializer.InitializeSubReportOdpContext(base.ReportDefinition, odpContext); } odpMerge.FetchData(reportInstance, false); reportInstance.CalculateAndStoreReportVariables(odpContext); if (base.ReportDefinition.HasSubReports) { SubReportInitializer.InitializeSubReports(base.ReportDefinition, reportInstance, odpContext, false, false); } base.SetupInitialOdpState(odpContext, reportInstance, reportSnapshot); if (!base.ReportDefinition.HasSubReports) { if (base.ReportDefinition.DeferVariableEvaluation) { return; } if (!base.ReportDefinition.HasVariables) { return; } } Merge.PreProcessTablixes(base.ReportDefinition, odpContext, true); }
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); }
protected override void PreProcessSnapshot(OnDemandProcessingContext odpContext, Merge odpMerge, AspNetCore.ReportingServices.ReportIntermediateFormat.ReportInstance reportInstance, AspNetCore.ReportingServices.ReportIntermediateFormat.ReportSnapshot reportSnapshot) { base.SetupInitialOdpState(odpContext, reportInstance, reportSnapshot); if (base.ReportDefinition.HasSubReports) { SubReportInitializer.InitializeSubReportOdpContext(base.ReportDefinition, odpContext); SubReportInitializer.InitializeSubReports(base.ReportDefinition, reportInstance, odpContext, false, false); } this.PreProcessTablices(odpContext, reportSnapshot); reportInstance.CalculateAndStoreReportVariables(odpContext); odpContext.OdpMetadata.SetUpdatedVariableValues(odpContext, reportInstance); }