Ejemplo n.º 1
0
 private void SaveGeneratedReportItemInstance()
 {
     if (this.m_dynamicWidth == null && this.m_dynamicHeight == null)
     {
         OnDemandProcessingContext odpContext = base.RenderingContext.OdpContext;
         AspNetCore.ReportingServices.ReportIntermediateFormat.ReportSnapshot reportSnapshot = odpContext.OdpMetadata.ReportSnapshot;
         IChunkFactory chunkFactory = odpContext.ChunkFactory;
         if (this.CriDef.RepeatWith == null)
         {
             string text = CustomReportItem.CreateChunkName();
             using (Stream stream = chunkFactory.CreateChunk(text, AspNetCore.ReportingServices.ReportProcessing.ReportProcessing.ReportChunkTypes.GeneratedReportItems, null))
             {
                 new IntermediateFormatWriter(stream, odpContext.GetActiveCompatibilityVersion()).Write(this.m_generatedReportItem.Instance);
                 stream.Flush();
             }
             reportSnapshot.AddGeneratedReportItemChunkName(this.GetGeneratedInstanceChunkKey(), text);
         }
         else
         {
             ImageInstance imageInstance = (ImageInstance)this.m_generatedReportItem.Instance;
             string        text          = imageInstance.StreamName = ImageHelper.StoreImageDataInChunk(AspNetCore.ReportingServices.ReportProcessing.ReportProcessing.ReportChunkTypes.Image, imageInstance.ImageData, imageInstance.MIMEType, base.RenderingContext.OdpContext.OdpMetadata, base.RenderingContext.OdpContext.ChunkFactory);
             reportSnapshot.AddImageChunkName(this.GetGeneratedInstanceChunkKey(), text);
         }
     }
 }
Ejemplo n.º 2
0
        public override void ConstructReportItemDefinition()
        {
            base.ConstructReportItemDefinitionImpl();
            ImageInstance imageInstance = this.ImageInstance;

            Global.Tracer.Assert(imageInstance != null, "(instance != null)");
            if (imageInstance.MIMEType != null)
            {
                this.ImageDef.MIMEType = AspNetCore.ReportingServices.ReportIntermediateFormat.ExpressionInfo.CreateConstExpression(imageInstance.MIMEType);
            }
            else
            {
                this.ImageDef.MIMEType = AspNetCore.ReportingServices.ReportIntermediateFormat.ExpressionInfo.CreateEmptyExpression();
            }
            this.m_mimeType = null;
            if (imageInstance.ImageData != null || imageInstance.StreamName != null)
            {
                Global.Tracer.Assert(false, "Runtime construction of images with constant Image.Value is not supported.");
            }
            else
            {
                this.ImageDef.Value = AspNetCore.ReportingServices.ReportIntermediateFormat.ExpressionInfo.CreateEmptyExpression();
            }
            this.m_value = null;
            if (!this.ActionInfo.ConstructActionDefinition())
            {
                this.ImageDef.Action = null;
                this.m_actionInfo    = null;
            }
        }
Ejemplo n.º 3
0
        public override void CompleteCriGeneratedInstanceEvaluation()
        {
            Global.Tracer.Assert(base.CriGenerationPhase == CriGenerationPhases.Instance, "(CriGenerationPhase == CriGenerationPhases.Instance)");
            ImageInstance imageInstance = this.ImageInstance;

            Global.Tracer.Assert(imageInstance != null, "(instance != null)");
            if (imageInstance.ActionInfoWithDynamicImageMapAreas != null)
            {
                base.CriGenerationPhase = CriGenerationPhases.Definition;
                imageInstance.ActionInfoWithDynamicImageMapAreas.ConstructDefinitions();
                base.CriGenerationPhase = CriGenerationPhases.Instance;
            }
        }
Ejemplo n.º 4
0
 private void Visit(AspNetCore.ReportingServices.OnDemandReportRendering.ReportItem item)
 {
     if (item != null && item.Instance != null)
     {
         bool generateDocMap = this.m_generateDocMap;
         if (this.ProcessVisibilityAndContinue(item.Visibility, item.Instance.Visibility, null))
         {
             if (item is AspNetCore.ReportingServices.OnDemandReportRendering.Line || item is AspNetCore.ReportingServices.OnDemandReportRendering.Chart || item is AspNetCore.ReportingServices.OnDemandReportRendering.GaugePanel || item is AspNetCore.ReportingServices.OnDemandReportRendering.Map)
             {
                 this.GenerateSimpleReportItemDocumentMap(item);
             }
             else if (item is AspNetCore.ReportingServices.OnDemandReportRendering.TextBox)
             {
                 this.GenerateSimpleReportItemDocumentMap(item);
                 this.VisitStyle(item.Style);
             }
             else if (item is AspNetCore.ReportingServices.OnDemandReportRendering.Image)
             {
                 this.GenerateSimpleReportItemDocumentMap(item);
                 AspNetCore.ReportingServices.OnDemandReportRendering.Image            image  = item as AspNetCore.ReportingServices.OnDemandReportRendering.Image;
                 AspNetCore.ReportingServices.OnDemandReportRendering.Image.SourceType source = image.Source;
                 if (this.m_createSnapshot && (source == AspNetCore.ReportingServices.OnDemandReportRendering.Image.SourceType.External || source == AspNetCore.ReportingServices.OnDemandReportRendering.Image.SourceType.Database))
                 {
                     AspNetCore.ReportingServices.OnDemandReportRendering.ImageInstance imageInstance = image.Instance as AspNetCore.ReportingServices.OnDemandReportRendering.ImageInstance;
                     if (imageInstance != null)
                     {
                         byte[] imageDatum = imageInstance.ImageData;
                     }
                 }
             }
             else if (item is AspNetCore.ReportingServices.OnDemandReportRendering.Rectangle)
             {
                 this.VisitRectangle(item as AspNetCore.ReportingServices.OnDemandReportRendering.Rectangle);
                 this.VisitStyle(item.Style);
             }
             else if (!(item is AspNetCore.ReportingServices.OnDemandReportRendering.CustomReportItem))
             {
                 bool flag = false;
                 if (this.m_generateDocMap)
                 {
                     string documentMapLabel = item.Instance.DocumentMapLabel;
                     if (documentMapLabel != null)
                     {
                         flag = true;
                         this.WriteDocumentMapBeginContainer(documentMapLabel, item.Instance.UniqueName);
                     }
                 }
                 if (item is AspNetCore.ReportingServices.OnDemandReportRendering.Tablix)
                 {
                     this.VisitTablix(item as AspNetCore.ReportingServices.OnDemandReportRendering.Tablix);
                     this.VisitStyle(item.Style);
                 }
                 else if (item is AspNetCore.ReportingServices.OnDemandReportRendering.SubReport)
                 {
                     this.VisitSubReport(item as AspNetCore.ReportingServices.OnDemandReportRendering.SubReport);
                 }
                 else
                 {
                     Global.Tracer.Assert(false);
                 }
                 if (flag)
                 {
                     this.WriteDocumentMapEndContainer();
                 }
             }
             this.m_generateDocMap = generateDocMap;
         }
     }
 }