示例#1
0
        private Microsoft.ReportingServices.ReportRendering.PageSection GenerateRenderPageSection(Microsoft.ReportingServices.ReportProcessing.PageSection pageSection, string uniqueNamePrefix)
        {
            Microsoft.ReportingServices.ReportProcessing.PageSectionInstance pageSectionInstance = new Microsoft.ReportingServices.ReportProcessing.PageSectionInstance(m_processingContext, m_currentPageNumber, pageSection);
            Microsoft.ReportingServices.ReportProcessing.ReportProcessing.PageMerge.CreateInstances(m_processingContext, pageSectionInstance.ReportItemColInstance, pageSection.ReportItems);
            string text = m_currentPageNumber.ToString(CultureInfo.InvariantCulture) + uniqueNamePrefix;

            Microsoft.ReportingServices.ReportRendering.RenderingContext renderingContext = new Microsoft.ReportingServices.ReportRendering.RenderingContext(m_romReport.RenderReport.RenderingContext, text);
            return(new Microsoft.ReportingServices.ReportRendering.PageSection(text, pageSection, pageSectionInstance, m_romReport.RenderReport, renderingContext, pageDef: false));
        }
        protected override void ProcessReport(ProcessingErrorContext errorContext, ExecutionLogContext executionLogContext, ref UserProfileState userProfileState)
        {
            ChunkFactoryAdapter @object           = new ChunkFactoryAdapter(base.PublicProcessingContext.ChunkFactory);
            ChunkFactoryAdapter object2           = new ChunkFactoryAdapter(m_originalSnapshotChunks);
            Hashtable           definitionObjects = null;
            DateTime            executionTime;
            Report report = ReportProcessing.DeserializeReportFromSnapshot(object2.GetReportChunk, out executionTime, out definitionObjects);

            m_reportSnapshot = base.Processing.ProcessReport(report, base.PublicProcessingContext, snapshotProcessing: true, processWithCachedData: false, object2.GetReportChunk, errorContext, executionTime, null, out m_context, out userProfileState);
            Global.Tracer.Assert(m_context != null, "(null != context)");
            m_chunkManager     = new ChunkManager.RenderingChunkManager(@object.GetReportChunk, null, definitionObjects, null, report.IntermediateFormatVersion);
            m_renderingContext = new Microsoft.ReportingServices.ReportRendering.RenderingContext(m_reportSnapshot, base.PublicRenderingContext.Format, executionTime, report.EmbeddedImages, report.ImageStreamNames, base.PublicRenderingContext.EventInfo, base.PublicProcessingContext.ReportContext, base.ReportUri, null, @object.GetReportChunk, m_chunkManager, base.PublicProcessingContext.GetResourceCallback, @object.GetChunkMimeType, base.PublicRenderingContext.StoreServerParametersCallback, retrieveRenderingInfo: false, base.PublicProcessingContext.AllowUserProfileState, base.PublicRenderingContext.ReportRuntimeSetup, base.PublicProcessingContext.JobContext, base.PublicProcessingContext.DataProtection);
        }
示例#3
0
        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);
        }
示例#4
0
        protected override void ProcessReport(ProcessingErrorContext errorContext, ExecutionLogContext executionLogContext, ref UserProfileState userProfileState)
        {
            ChunkFactoryAdapter @object = new ChunkFactoryAdapter(base.PublicProcessingContext.ChunkFactory);

            m_reportSnapshot = ReportProcessing.DeserializeReportSnapshot(@object.GetReportChunk, @object.CreateReportChunk, base.PublicProcessingContext.GetResourceCallback, base.PublicRenderingContext, base.PublicProcessingContext.DataProtection, out Hashtable instanceObjects, out Hashtable definitionObjects, out IntermediateFormatReader.State declarationsRead, out bool isOldSnapshot);
            Global.Tracer.Assert(m_reportSnapshot != null, "(null != reportSnapshot)");
            Global.Tracer.Assert(m_reportSnapshot.Report != null, "(null != reportSnapshot.Report)");
            Global.Tracer.Assert(m_reportSnapshot.ReportInstance != null, "(null != reportSnapshot.ReportInstance)");
            m_chunkManager = new ChunkManager.RenderingChunkManager(@object.GetReportChunk, instanceObjects, definitionObjects, declarationsRead, m_reportSnapshot.Report.IntermediateFormatVersion);
            base.Processing.ProcessShowHideToggle(base.PublicRenderingContext.ShowHideToggle, m_reportSnapshot, base.PublicRenderingContext.EventInfo, m_chunkManager, out bool showHideInformationChanged, out EventInformation newOverrideInformation);
            if (showHideInformationChanged)
            {
                base.PublicRenderingContext.EventInfo = newOverrideInformation;
            }
            m_renderingContext = new Microsoft.ReportingServices.ReportRendering.RenderingContext(retrieveRenderingInfo: IsRenderStream || !isOldSnapshot, reportSnapshot: m_reportSnapshot, rendererID: base.PublicRenderingContext.Format, executionTime: m_reportSnapshot.ExecutionTime, embeddedImages: m_reportSnapshot.Report.EmbeddedImages, imageStreamNames: m_reportSnapshot.Report.ImageStreamNames, eventInfo: base.PublicRenderingContext.EventInfo, reportContext: base.PublicRenderingContext.ReportContext, contextUri: base.PublicRenderingContext.ReportUri, reportParameters: base.RenderingParameters, getChunkCallback: @object.GetReportChunk, chunkManager: m_chunkManager, getResourceCallback: base.PublicProcessingContext.GetResourceCallback, getChunkMimeType: @object.GetChunkMimeType, storeServerParameters: base.PublicRenderingContext.StoreServerParametersCallback, allowUserProfileState: base.PublicRenderingContext.AllowUserProfileState, reportRuntimeSetup: base.PublicRenderingContext.ReportRuntimeSetup, jobContext: base.PublicProcessingContext.JobContext, dataProtection: base.PublicProcessingContext.DataProtection);
        }
示例#5
0
 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);
     }
 }
示例#6
0
 internal StyleBase(RenderingContext context)
 {
     m_isCustomControlGenerated = false;
     m_renderingContext         = context;
 }
示例#7
0
 internal TextBox(string uniqueName, int intUniqueName, Microsoft.ReportingServices.ReportProcessing.TextBox reportItemDef, Microsoft.ReportingServices.ReportProcessing.TextBoxInstance reportItemInstance, RenderingContext renderingContext)
     : base(uniqueName, intUniqueName, reportItemDef, reportItemInstance, renderingContext)
 {
 }
示例#8
0
 internal Matrix(int intUniqueName, Microsoft.ReportingServices.ReportProcessing.Matrix reportItemDef, MatrixInstance reportItemInstance, RenderingContext renderingContext)
     : base(intUniqueName, reportItemDef, reportItemInstance, renderingContext)
 {
     if (reportItemInstance != null && reportItemInstance.Cells.Count != 0 && reportItemInstance.Cells[0].Count != 0)
     {
         m_rowMemberMapping = CalculateMapping(reportItemDef.Rows, reportItemInstance.RowInstances, inParentSubtotal: false);
         m_colMemberMapping = CalculateMapping(reportItemDef.Columns, reportItemInstance.ColumnInstances, inParentSubtotal: false);
         m_noRows           = (m_rowMemberMapping.Count == 0 || m_colMemberMapping.Count == 0);
     }
     else
     {
         m_noRows = true;
     }
 }
示例#9
0
 internal PageSection(string uniqueName, Microsoft.ReportingServices.ReportProcessing.PageSection pageSectionDef, PageSectionInstance pageSectionInstance, Report report, RenderingContext renderingContext, bool pageDef)
     : base(uniqueName, 0, pageSectionDef, pageSectionInstance, renderingContext)
 {
     m_pageSectionDef      = pageSectionDef;
     m_pageSectionInstance = pageSectionInstance;
     m_pageDef             = pageDef;
 }