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 ImageMapAreaInstanceList Deconstruct(Microsoft.ReportingServices.ReportProcessing.ReportProcessing.ProcessingContext processingContext, Microsoft.ReportingServices.ReportProcessing.CustomReportItem context) { Global.Tracer.Assert(context != null && processingContext != null); if (m_list == null || m_list.Count == 0) { return(null); } int count = m_list.Count; ImageMapAreaInstanceList imageMapAreaInstanceList = new ImageMapAreaInstanceList(count); for (int i = 0; i < count; i++) { ImageMapAreaInstance value = ((ImageMapArea)m_list[i]).Deconstruct(context); imageMapAreaInstanceList.Add(value); } return(imageMapAreaInstanceList); }