private void InitializeEnvironment() { m_report = m_romReport.RenderReport.ReportDef; Microsoft.ReportingServices.ReportProcessing.ReportInstance reportInstance = m_romReport.RenderReport.ReportInstance; Microsoft.ReportingServices.ReportRendering.RenderingContext renderingContext = m_romReport.RenderReport.RenderingContext; ReportSnapshot reportSnapshot = renderingContext.ReportSnapshot; ReportInstanceInfo reportInstanceInfo = (ReportInstanceInfo)reportInstance.GetInstanceInfo(renderingContext.ChunkManager); m_processingContext = new Microsoft.ReportingServices.ReportProcessing.ReportProcessing.ProcessingContext(renderingContext.TopLevelReportContext, m_report.ShowHideType, renderingContext.GetResourceCallback, m_report.EmbeddedImages, m_report.ImageStreamNames, new ProcessingErrorContext(), !m_report.PageMergeOnePass, renderingContext.AllowUserProfileState, renderingContext.ReportRuntimeSetup, renderingContext.DataProtection); m_reportCulture = Localization.DefaultReportServerSpecificCulture; if (m_report.Language != null) { string text = null; text = ((m_report.Language.Type != ExpressionInfo.Types.Constant) ? reportInstance.Language : m_report.Language.Value); if (text != null) { try { m_reportCulture = new CultureInfo(text, useUserOverride: false); if (m_reportCulture.IsNeutralCulture) { m_reportCulture = CultureInfo.CreateSpecificCulture(text); m_reportCulture = new CultureInfo(m_reportCulture.Name, useUserOverride: false); } } catch (Exception e) { if (AsynchronousExceptionDetection.IsStoppingException(e)) { throw; } } } } m_processingContext.ReportObjectModel = new ObjectModelImpl(m_processingContext); Global.Tracer.Assert(m_processingContext.ReportRuntime == null, "(m_processingContext.ReportRuntime == null)"); m_processingContext.ReportRuntime = new ReportRuntime(m_processingContext.ReportObjectModel, m_processingContext.ErrorContext); m_processingContext.ReportObjectModel.FieldsImpl = new FieldsImpl(); m_processingContext.ReportObjectModel.ParametersImpl = new ParametersImpl(reportInstanceInfo.Parameters.Count); m_processingContext.ReportObjectModel.GlobalsImpl = new GlobalsImpl(reportInstanceInfo.ReportName, m_currentPageNumber, m_totalPages, reportSnapshot.ExecutionTime, reportSnapshot.ReportServerUrl, reportSnapshot.ReportFolder); m_processingContext.ReportObjectModel.UserImpl = new UserImpl(reportSnapshot.RequestUserName, reportSnapshot.Language, m_processingContext.AllowUserProfileState); m_processingContext.ReportObjectModel.DataSetsImpl = new DataSetsImpl(); m_processingContext.ReportObjectModel.DataSourcesImpl = new DataSourcesImpl(m_report.DataSourceCount); for (int i = 0; i < reportInstanceInfo.Parameters.Count; i++) { m_processingContext.ReportObjectModel.ParametersImpl.Add(reportInstanceInfo.Parameters[i].Name, new ParameterImpl(reportInstanceInfo.Parameters[i].Values, reportInstanceInfo.Parameters[i].Labels, reportInstanceInfo.Parameters[i].MultiValue)); } m_processingContext.ReportRuntime.LoadCompiledCode(m_report, parametersOnly: false, m_processingContext.ReportObjectModel, m_processingContext.ReportRuntimeSetup); }
internal ReportInstanceInfo(ReportProcessing.ProcessingContext pc, Report reportItemDef, ReportInstance owner, ParameterInfoCollection parameters, bool noRows) : base(pc, reportItemDef, owner, addToChunk: true) { m_bodyUniqueName = pc.CreateUniqueName(); m_reportName = pc.ReportContext.ItemName; m_parameters = new ParameterInfoCollection(); if (parameters != null && parameters.Count > 0) { parameters.CopyTo(m_parameters); } m_noRows = noRows; }
internal Report(Microsoft.ReportingServices.ReportProcessing.Report reportDef, Microsoft.ReportingServices.ReportProcessing.ReportInstance reportInstance, Microsoft.ReportingServices.ReportRendering.RenderingContext oldRenderingContext, RenderingContext renderingContext, string reportName, string description) { m_renderReport = new Microsoft.ReportingServices.ReportRendering.Report(reportDef, reportInstance, oldRenderingContext, reportName, description, Localization.DefaultReportServerSpecificCulture); m_parentDefinitionPath = null; m_isOldSnapshot = true; m_subreportInSubtotal = false; m_renderingContext = renderingContext; m_name = reportName; m_description = description; if (m_renderReport.NeedsHeaderFooterEvaluation) { m_pageEvaluation = new ShimPageEvaluation(this); m_renderingContext.SetPageEvaluation(m_pageEvaluation); } }