public override void SetNewContext()
 {
     base.SetNewContext();
     if (this.m_dataValues != null)
     {
         this.m_dataValues.SetNewContext();
     }
     this.m_renderDataPoint       = null;
     this.m_dataValueUpdateNeeded = true;
     this.m_cachedDataPoint       = null;
 }
 public DataValueCollection(RenderingContext renderingContext, AspNetCore.ReportingServices.ReportRendering.ChartDataPoint dataPoint)
 {
     this.m_isChartValues = true;
     if (dataPoint.DataValues == null)
     {
         this.m_cachedDataValues = new DataValue[0];
     }
     else
     {
         int num = dataPoint.DataValues.Length;
         this.m_cachedDataValues = new DataValue[num];
         for (int i = 0; i < num; i++)
         {
             this.m_cachedDataValues[i] = new DataValue(renderingContext, dataPoint.DataValues[i]);
         }
     }
 }
 public ChartDataPoint this[int series, int category]
 {
     get
     {
         if (series >= 0 && series < this.m_seriesCount)
         {
             if (category >= 0 && category < this.m_categoryCount)
             {
                 ChartDataPoint chartDataPoint = null;
                 if (series == 0 && category == 0)
                 {
                     chartDataPoint = this.m_firstDataPoint;
                 }
                 else if (series == 0)
                 {
                     if (this.m_firstSeriesDataPoints != null)
                     {
                         chartDataPoint = this.m_firstSeriesDataPoints[category - 1];
                     }
                 }
                 else if (category == 0)
                 {
                     if (this.m_firstCategoryDataPoints != null)
                     {
                         chartDataPoint = this.m_firstCategoryDataPoints[series - 1];
                     }
                 }
                 else if (this.m_dataPoints != null && this.m_dataPoints[series - 1] != null)
                 {
                     chartDataPoint = this.m_dataPoints[series - 1][category - 1];
                 }
                 if (chartDataPoint == null)
                 {
                     chartDataPoint = new ChartDataPoint(this.m_owner, series, category);
                     if (this.m_owner.RenderingContext.CacheState)
                     {
                         if (series == 0 && category == 0)
                         {
                             this.m_firstDataPoint = chartDataPoint;
                         }
                         else if (series == 0)
                         {
                             if (this.m_firstSeriesDataPoints == null)
                             {
                                 this.m_firstSeriesDataPoints = new ChartSeriesDataPoints(this.m_categoryCount - 1);
                             }
                             this.m_firstSeriesDataPoints[category - 1] = chartDataPoint;
                         }
                         else if (category == 0)
                         {
                             if (this.m_firstCategoryDataPoints == null)
                             {
                                 this.m_firstCategoryDataPoints = new ChartSeriesDataPoints(this.m_seriesCount - 1);
                             }
                             this.m_firstCategoryDataPoints[series - 1] = chartDataPoint;
                         }
                         else
                         {
                             if (this.m_dataPoints == null)
                             {
                                 this.m_dataPoints = new ChartSeriesDataPoints[this.m_seriesCount - 1];
                             }
                             if (this.m_dataPoints[series - 1] == null)
                             {
                                 this.m_dataPoints[series - 1] = new ChartSeriesDataPoints(this.m_categoryCount - 1);
                             }
                             this.m_dataPoints[series - 1][category - 1] = chartDataPoint;
                         }
                     }
                 }
                 return(chartDataPoint);
             }
             throw new RenderingObjectModelException(ProcessingErrorCode.rsInvalidParameterRange, category, 0, this.m_categoryCount);
         }
         throw new RenderingObjectModelException(ProcessingErrorCode.rsInvalidParameterRange, series, 0, this.m_seriesCount);
     }
 }
        public override Stream GetImage(ImageType type, out ActionInfoWithDynamicImageMapCollection actionImageMaps)
        {
            actionImageMaps = null;
            Stream stream = null;
            bool   flag   = false;

            if (base.m_reportElementDef.IsOldSnapshot)
            {
                AspNetCore.ReportingServices.ReportRendering.Chart chart = (AspNetCore.ReportingServices.ReportRendering.Chart)base.m_reportElementDef.RenderReportItem;
                stream = chart.GetImage((AspNetCore.ReportingServices.ReportRendering.Chart.ImageType)type, out flag);
                if (flag)
                {
                    int dataPointSeriesCount   = chart.DataPointSeriesCount;
                    int dataPointCategoryCount = chart.DataPointCategoryCount;
                    actionImageMaps = new ActionInfoWithDynamicImageMapCollection();
                    for (int i = 0; i < dataPointSeriesCount; i++)
                    {
                        for (int j = 0; j < dataPointCategoryCount; j++)
                        {
                            AspNetCore.ReportingServices.ReportRendering.ChartDataPoint chartDataPoint = chart.DataPointCollection[i, j];
                            AspNetCore.ReportingServices.ReportRendering.ActionInfo     actionInfo     = chartDataPoint.ActionInfo;
                            if (actionInfo != null)
                            {
                                actionImageMaps.InternalList.Add(new ActionInfoWithDynamicImageMap(base.m_reportElementDef.RenderingContext, actionInfo, chartDataPoint.MapAreas));
                            }
                        }
                    }
                }
            }
            else
            {
                stream = base.GetImage(type, out actionImageMaps);
            }
            return(stream);
        }