public void Set(string name, AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateInfo aggregateDef, List <string> duplicateNames, AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObjResult aggregateResult)
 {
     AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj aggregateObj = this.GetAggregateObj(name);
     if (aggregateObj == null)
     {
         try
         {
             if (this.m_lockAdd)
             {
                 Monitor.Enter(this.m_collection);
             }
             aggregateObj = new AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj(aggregateDef, aggregateResult);
             this.m_collection.Add(name, aggregateObj);
             this.PopulateDuplicateNames(name, duplicateNames);
         }
         finally
         {
             if (this.m_lockAdd)
             {
                 Monitor.Exit(this.m_collection);
             }
         }
     }
     else
     {
         aggregateObj.Set(aggregateResult);
     }
 }
Ejemplo n.º 2
0
        private static void StoreAggregate <AggregateType>(OnDemandProcessingContext odpContext, AggregateType aggregateDef, ref List <DataAggregateObjResult> aggregateValues) where AggregateType : DataAggregateInfo
        {
            DataAggregateObj       aggregateObj = odpContext.ReportObjectModel.AggregatesImpl.GetAggregateObj(aggregateDef.Name);
            DataAggregateObjResult item         = aggregateObj.AggregateResult();

            aggregateValues.Add(item);
        }
 private void CreateAggregates(List <AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateInfo> aggDefs)
 {
     if (aggDefs != null && 0 < aggDefs.Count)
     {
         AggregatesImpl aggregatesImpl = this.m_odpContext.ReportObjectModel.AggregatesImpl;
         for (int i = 0; i < aggDefs.Count; i++)
         {
             AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateInfo dataAggregateInfo = aggDefs[i];
             AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj  dataAggregateObj  = aggregatesImpl.GetAggregateObj(dataAggregateInfo.Name);
             if (dataAggregateObj == null)
             {
                 dataAggregateObj = new AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj(dataAggregateInfo, this.m_odpContext);
                 aggregatesImpl.Add(dataAggregateObj);
             }
             if (AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateInfo.AggregateTypes.Previous != dataAggregateInfo.AggregateType)
             {
                 if (AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateInfo.AggregateTypes.Aggregate == dataAggregateInfo.AggregateType)
                 {
                     RuntimeDataRegionObj.AddAggregate(ref this.m_customAggregates, dataAggregateObj);
                 }
                 else
                 {
                     RuntimeDataRegionObj.AddAggregate(ref this.m_nonCustomAggregates, dataAggregateObj);
                 }
             }
         }
     }
 }
 public AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj GetAggregateObj(string name)
 {
     AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj dataAggregateObj = (AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj) this.m_collection[name];
     if (dataAggregateObj == null && this.m_duplicateNames != null)
     {
         string text = (string)this.m_duplicateNames[name];
         if (text != null)
         {
             dataAggregateObj = (AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj) this.m_collection[text];
         }
     }
     return(dataAggregateObj);
 }
 public static void AddRunningValues(OnDemandProcessingContext odpContext, List <AspNetCore.ReportingServices.ReportIntermediateFormat.RunningValueInfo> runningValues, ref List <string> runningValuesInGroup, ref List <string> previousValuesInGroup, Dictionary <string, IReference <RuntimeGroupRootObj> > groupCollection, IReference <RuntimeGroupRootObj> lastGroup)
 {
     if (runningValues != null && 0 < runningValues.Count)
     {
         if (runningValuesInGroup == null)
         {
             runningValuesInGroup = new List <string>();
         }
         if (previousValuesInGroup == null)
         {
             previousValuesInGroup = new List <string>();
         }
         AggregatesImpl aggregatesImpl = odpContext.ReportObjectModel.AggregatesImpl;
         for (int i = 0; i < runningValues.Count; i++)
         {
             AspNetCore.ReportingServices.ReportIntermediateFormat.RunningValueInfo runningValueInfo = runningValues[i];
             AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj dataAggregateObj = aggregatesImpl.GetAggregateObj(runningValueInfo.Name);
             if (dataAggregateObj == null)
             {
                 dataAggregateObj = new AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj(runningValueInfo, odpContext);
                 aggregatesImpl.Add(dataAggregateObj);
             }
             if (runningValueInfo.Scope != null)
             {
                 IReference <RuntimeGroupRootObj> reference = default(IReference <RuntimeGroupRootObj>);
                 if (groupCollection.TryGetValue(runningValueInfo.Scope, out reference))
                 {
                     using (reference.PinValue())
                     {
                         reference.Value().AddScopedRunningValue(dataAggregateObj);
                     }
                 }
                 else
                 {
                     Global.Tracer.Assert(false);
                 }
             }
             if (runningValueInfo.AggregateType == AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateInfo.AggregateTypes.Previous)
             {
                 previousValuesInGroup.Add(dataAggregateObj.Name);
             }
             else
             {
                 runningValuesInGroup.Add(dataAggregateObj.Name);
             }
         }
     }
 }
 public void Add(AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj newObject)
 {
     Global.Tracer.Assert(!newObject.NonAggregateMode, "( !newObject.NonAggregateMode )");
     try
     {
         if (this.m_lockAdd)
         {
             Monitor.Enter(this.m_collection);
         }
         this.m_collection.Add(newObject.Name, newObject);
         this.PopulateDuplicateNames(newObject.Name, newObject.DuplicateNames);
     }
     finally
     {
         if (this.m_lockAdd)
         {
             Monitor.Exit(this.m_collection);
         }
     }
 }
        private object GetAggregateValue(string key, AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj aggregateObj)
        {
            aggregateObj.UsedInExpression = true;
            AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObjResult dataAggregateObjResult = aggregateObj.AggregateResult();
            if (dataAggregateObjResult == null)
            {
                Global.Tracer.Assert(this.m_odpContext.IsTablixProcessingMode, "Missing aggregate result outside of tablix processing");
                throw new ReportProcessingException_MissingAggregateDependency();
            }
            if (dataAggregateObjResult.HasCode)
            {
                if ((dataAggregateObjResult.FieldStatus == DataFieldStatus.None || dataAggregateObjResult.FieldStatus == DataFieldStatus.IsError) && dataAggregateObjResult.Code != 0)
                {
                    this.ErrorContext.Register(dataAggregateObjResult.Code, dataAggregateObjResult.Severity, dataAggregateObjResult.Arguments);
                    goto IL_0091;
                }
                if (dataAggregateObjResult.FieldStatus == DataFieldStatus.UnSupportedDataType)
                {
                    this.ErrorContext.Register(ProcessingErrorCode.rsAggregateOfInvalidExpressionDataType, Severity.Warning, dataAggregateObjResult.Arguments);
                }
                goto IL_0091;
            }
            goto IL_009f;
IL_009f:
            if (dataAggregateObjResult.ErrorOccurred)
            {
                throw new ReportProcessingException(ErrorCode.rsInvalidOperation);
            }
            return(dataAggregateObjResult.Value);

IL_0091:
            if (dataAggregateObjResult.ErrorOccurred)
            {
                throw new ReportProcessingException_InvalidOperationException();
            }
            goto IL_009f;
        }
 public static void CreateAggregates <AggregateType>(OnDemandProcessingContext odpContext, List <AggregateType> aggDefs, List <int> aggregateIndexes, ref List <AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj> aggregates) where AggregateType : AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateInfo
 {
     if (aggregateIndexes != null && 0 < aggregateIndexes.Count)
     {
         for (int i = 0; i < aggregateIndexes.Count; i++)
         {
             AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj aggregate = new AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj((AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateInfo)(object) aggDefs[aggregateIndexes[i]], odpContext);
             RuntimeDataRegionObj.AddAggregate(ref aggregates, aggregate);
         }
     }
 }
 public static void CreateAggregates <AggregateType>(OnDemandProcessingContext odpContext, BucketedAggregatesCollection <AggregateType> aggDefs, ref BucketedDataAggregateObjs aggregates) where AggregateType : AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateInfo
 {
     if (aggDefs != null && !aggDefs.IsEmpty)
     {
         if (aggregates == null)
         {
             aggregates = new BucketedDataAggregateObjs();
         }
         foreach (AggregateBucket <AggregateType> bucket in aggDefs.Buckets)
         {
             foreach (AggregateType aggregate in bucket.Aggregates)
             {
                 AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj item = new AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj((AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateInfo)(object) aggregate, odpContext);
                 ((BucketedAggregatesCollection <AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj>)aggregates).GetOrCreateBucket(bucket.Level).Aggregates.Add(item);
             }
         }
     }
 }
 public static void CreateAggregates(OnDemandProcessingContext odpContext, List <AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateInfo> aggDefs, List <int> aggregateIndexes, ref List <AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj> nonCustomAggregates, ref List <AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj> customAggregates)
 {
     if (aggregateIndexes != null && 0 < aggregateIndexes.Count)
     {
         for (int i = 0; i < aggregateIndexes.Count; i++)
         {
             AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateInfo dataAggregateInfo = aggDefs[aggregateIndexes[i]];
             AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj  aggregate         = new AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj(dataAggregateInfo, odpContext);
             if (AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateInfo.AggregateTypes.Aggregate == dataAggregateInfo.AggregateType)
             {
                 RuntimeDataRegionObj.AddAggregate(ref customAggregates, aggregate);
             }
             else
             {
                 RuntimeDataRegionObj.AddAggregate(ref nonCustomAggregates, aggregate);
             }
         }
     }
 }
 public static void AddAggregate(ref List <AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj> aggregates, AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj aggregate)
 {
     if (aggregates == null)
     {
         aggregates = new List <AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj>();
     }
     aggregates.Add(aggregate);
 }
 public static void StoreRunningValues(AggregatesImpl globalRVCol, List <AspNetCore.ReportingServices.ReportIntermediateFormat.RunningValueInfo> runningValues, ref AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObjResult[] runningValueValues)
 {
     if (runningValues != null && 0 < runningValues.Count)
     {
         if (runningValueValues == null)
         {
             runningValueValues = new AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObjResult[runningValues.Count];
         }
         for (int i = 0; i < runningValues.Count; i++)
         {
             AspNetCore.ReportingServices.ReportIntermediateFormat.RunningValueInfo runningValueInfo = runningValues[i];
             AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj aggregateObj     = globalRVCol.GetAggregateObj(runningValueInfo.Name);
             if (aggregateObj != null)
             {
                 runningValueValues[i] = aggregateObj.AggregateResult();
             }
         }
     }
     else
     {
         runningValueValues = null;
     }
 }
Ejemplo n.º 13
0
 public void SetupCellRunningValues(AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObjResult[] cellRunningValueValues)
 {
     if (cellRunningValueValues != null)
     {
         AggregatesImpl aggregatesImpl = base.m_odpContext.ReportObjectModel.AggregatesImpl;
         int            num            = (this.m_staticCellPreviousValues != null) ? this.m_staticCellPreviousValues.Count : 0;
         int            num2           = (this.m_staticCellRVs != null) ? this.m_staticCellRVs.Count : 0;
         if (num2 > 0)
         {
             for (int i = 0; i < num2; i++)
             {
                 string text = this.m_staticCellRVs[i];
                 AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj aggregateObj = aggregatesImpl.GetAggregateObj(text);
                 Global.Tracer.Assert(aggregateObj != null, "Missing expected running value: {0}", text);
                 aggregateObj.Set(cellRunningValueValues[i]);
             }
         }
         if (num > 0)
         {
             for (int j = 0; j < num; j++)
             {
                 string text2 = this.m_staticCellPreviousValues[j];
                 AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj aggregateObj2 = aggregatesImpl.GetAggregateObj(text2);
                 Global.Tracer.Assert(aggregateObj2 != null, "Missing expected running value: {0}", text2);
                 aggregateObj2.Set(cellRunningValueValues[num2 + j]);
             }
         }
     }
 }
 private void CalculateDRPreviousAggregates()
 {
     this.SetupEnvironment();
     if (base.m_previousValues != null)
     {
         AggregatesImpl aggregatesImpl = base.m_odpContext.ReportObjectModel.AggregatesImpl;
         for (int i = 0; i < base.m_previousValues.Count; i++)
         {
             string text = base.m_previousValues[i];
             AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj aggregateObj = aggregatesImpl.GetAggregateObj(text);
             Global.Tracer.Assert(aggregateObj != null, "Missing expected previous aggregate: {0}", text);
             aggregateObj.Update();
         }
     }
 }
        public static void UpdateRunningValues(OnDemandProcessingContext odpContext, List <string> runningValueNames)
        {
            AggregatesImpl aggregatesImpl = odpContext.ReportObjectModel.AggregatesImpl;

            for (int i = 0; i < runningValueNames.Count; i++)
            {
                string name = runningValueNames[i];
                AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj aggregateObj = aggregatesImpl.GetAggregateObj(name);
                aggregateObj.Update();
            }
        }
Ejemplo n.º 16
0
        public void DoneReadingRows(ref AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObjResult[] runningValueValues, ref AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObjResult[] runningValueOfAggregateValues, ref AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObjResult[] cellRunningValueValues)
        {
            AggregatesImpl aggregatesImpl = base.m_odpContext.ReportObjectModel.AggregatesImpl;

            RuntimeRICollection.StoreRunningValues(aggregatesImpl, base.m_hierarchyDef.RunningValues, ref runningValueValues);
            if (base.m_hierarchyDef.DataScopeInfo != null)
            {
                RuntimeRICollection.StoreRunningValues(aggregatesImpl, base.m_hierarchyDef.DataScopeInfo.RunningValuesOfAggregates, ref runningValueOfAggregateValues);
            }
            int num  = (this.m_staticCellPreviousValues != null) ? this.m_staticCellPreviousValues.Count : 0;
            int num2 = (this.m_staticCellRVs != null) ? this.m_staticCellRVs.Count : 0;

            if (num2 > 0)
            {
                cellRunningValueValues = new AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObjResult[num2 + num];
                for (int i = 0; i < num2; i++)
                {
                    AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj aggregateObj = aggregatesImpl.GetAggregateObj(this.m_staticCellRVs[i]);
                    cellRunningValueValues[i] = aggregateObj.AggregateResult();
                }
            }
            if (num > 0)
            {
                if (cellRunningValueValues == null)
                {
                    cellRunningValueValues = new AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObjResult[num];
                }
                for (int j = 0; j < num; j++)
                {
                    AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj aggregateObj2 = aggregatesImpl.GetAggregateObj(this.m_staticCellPreviousValues[j]);
                    cellRunningValueValues[num2 + j] = aggregateObj2.AggregateResult();
                }
            }
        }
 public static void UpdateAggregates(OnDemandProcessingContext odpContext, List <AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj> aggregates, bool updateAndSetup)
 {
     if (aggregates != null)
     {
         for (int i = 0; i < aggregates.Count; i++)
         {
             AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj dataAggregateObj = aggregates[i];
             dataAggregateObj.Update();
             if (updateAndSetup)
             {
                 odpContext.ReportObjectModel.AggregatesImpl.Set(dataAggregateObj.Name, dataAggregateObj.AggregateDef, dataAggregateObj.DuplicateNames, dataAggregateObj.AggregateResult());
             }
         }
     }
 }
		private void PageInit(ReportSection section)
		{
			AspNetCore.ReportingServices.ReportProcessing.OnDemandReportObjectModel.ObjectModelImpl reportObjectModel = this.m_processingContext.ReportObjectModel;
			AspNetCore.ReportingServices.ReportProcessing.OnDemandReportObjectModel.AggregatesImpl aggregatesImpl = reportObjectModel.AggregatesImpl;
			Global.Tracer.Assert(section.BodyItemsForHeadFoot != null, "Missing cached BodyItemsForHeadFoot collection");
			Global.Tracer.Assert(section.PageSectionItemsForHeadFoot != null, "Missing cached PageSectionItemsForHeadFoot collection");
			section.BodyItemsForHeadFoot.ResetAll(default(AspNetCore.ReportingServices.RdlExpressions.VariantResult));
			section.PageSectionItemsForHeadFoot.ResetAll();
			reportObjectModel.GlobalsImpl.SetPageNumbers(base.m_currentPageNumber, base.m_totalPages, base.m_currentOverallPageNumber, base.m_overallTotalPages);
			reportObjectModel.GlobalsImpl.SetPageName(base.m_pageName);
			AspNetCore.ReportingServices.ReportIntermediateFormat.Report reportDef = base.m_romReport.ReportDef;
			AspNetCore.ReportingServices.ReportIntermediateFormat.ReportSection sectionDef = section.SectionDef;
			AspNetCore.ReportingServices.ReportIntermediateFormat.Page page = sectionDef.Page;
			section.PageAggregatesOverReportItems = new Dictionary<string, AspNetCore.ReportingServices.ReportProcessing.OnDemandReportObjectModel.AggregatesImpl>();
			this.m_processingContext.ReportObjectModel.ReportItemsImpl.SpecialMode = true;
			if (page.PageAggregates != null)
			{
				for (int i = 0; i < page.PageAggregates.Count; i++)
				{
					AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateInfo dataAggregateInfo = page.PageAggregates[i];
					aggregatesImpl.Remove(dataAggregateInfo);
					dataAggregateInfo.ExprHostInitialized = false;
					AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj dataAggregateObj = new AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj(dataAggregateInfo, this.m_processingContext);
					object[] array = default(object[]);
					DataFieldStatus dataFieldStatus = default(DataFieldStatus);
					dataAggregateObj.EvaluateParameters(out array, out dataFieldStatus);
					string specialModeIndex = reportObjectModel.ReportItemsImpl.GetSpecialModeIndex();
					if (specialModeIndex == null)
					{
						aggregatesImpl.Add(dataAggregateObj);
					}
					else
					{
						AspNetCore.ReportingServices.ReportProcessing.OnDemandReportObjectModel.AggregatesImpl aggregatesImpl2 = default(AspNetCore.ReportingServices.ReportProcessing.OnDemandReportObjectModel.AggregatesImpl);
						if (!section.PageAggregatesOverReportItems.TryGetValue(specialModeIndex, out aggregatesImpl2))
						{
							aggregatesImpl2 = new AspNetCore.ReportingServices.ReportProcessing.OnDemandReportObjectModel.AggregatesImpl(this.m_processingContext);
							section.PageAggregatesOverReportItems.Add(specialModeIndex, aggregatesImpl2);
						}
						aggregatesImpl2.Add(dataAggregateObj);
						this.m_reportItemToReportSection[specialModeIndex] = section;
					}
					dataAggregateObj.Init();
				}
			}
			reportObjectModel.ReportItemsImpl.SpecialMode = false;
			AspNetCore.ReportingServices.ReportIntermediateFormat.PageSection rifObject = null;
			IReportScopeInstance romInstance = null;
			if (sectionDef.Page.PageHeader != null)
			{
				rifObject = sectionDef.Page.PageHeader;
				romInstance = section.Page.PageHeader.Instance.ReportScopeInstance;
				section.Page.PageHeader.SetNewContext();
			}
			if (sectionDef.Page.PageFooter != null)
			{
				rifObject = sectionDef.Page.PageFooter;
				romInstance = section.Page.PageFooter.Instance.ReportScopeInstance;
				section.Page.PageFooter.SetNewContext();
			}
			if (sectionDef != null)
			{
				this.m_processingContext.SetupContext(rifObject, romInstance);
			}
		}
        public override object this[string key]
        {
            get
            {
                AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj aggregateObj = this.GetAggregateObj(key);
                if (aggregateObj == null)
                {
                    if (this.m_odpContext.IsTablixProcessingMode)
                    {
                        this.m_odpContext.ReportRuntime.UnfulfilledDependency = true;
                    }
                    if (this.m_odpContext.CalculateAggregate(key))
                    {
                        aggregateObj = this.GetAggregateObj(key);
                        Global.Tracer.Assert(null != aggregateObj, "(null != aggregateObj)");
                        goto IL_0059;
                    }
                    return(null);
                }
                goto IL_0059;
IL_0059:
                object aggregateValue = this.GetAggregateValue(key, aggregateObj);
                if (aggregateValue == null && aggregateObj.AggregateDef.AggregateType == AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateInfo.AggregateTypes.Aggregate && this.m_odpContext.StreamingMode && this.m_odpContext.StateManager.CheckForPrematureServerAggregate(key))
                {
                    aggregateValue = this.GetAggregateValue(key, this.GetAggregateObj(key));
                }
                return(aggregateValue);
            }
        }
 public void Reset(AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateInfo aggregateDef)
 {
     if (this.m_collection != null)
     {
         AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj aggregateObj = this.GetAggregateObj(aggregateDef.Name);
         if (aggregateObj != null)
         {
             aggregateObj.ResetForNoRows();
         }
     }
 }
 protected void SetupAggregates(List <AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj> aggregates)
 {
     if (aggregates != null)
     {
         for (int i = 0; i < aggregates.Count; i++)
         {
             AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj dataAggregateObj = aggregates[i];
             this.m_odpContext.ReportObjectModel.AggregatesImpl.Set(dataAggregateObj.Name, dataAggregateObj.AggregateDef, dataAggregateObj.DuplicateNames, dataAggregateObj.AggregateResult());
         }
     }
 }
Ejemplo n.º 22
0
 public override void ReadRow(DataActions dataAction, ITraversalContext context)
 {
     if (FlagUtils.HasFlag(dataAction, DataActions.PostSortAggregates) && FlagUtils.HasFlag(base.m_dataAction, DataActions.PostSortAggregates))
     {
         AggregatesImpl aggregatesImpl = base.m_odpContext.ReportObjectModel.AggregatesImpl;
         if (base.m_hierarchyDef.DataRegionDef.ProcessCellRunningValues)
         {
             if (this.m_cellRVs != null)
             {
                 for (int i = 0; i < this.m_cellRVs.Count; i++)
                 {
                     string text = this.m_cellRVs[i];
                     AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj aggregateObj = aggregatesImpl.GetAggregateObj(text);
                     Global.Tracer.Assert(aggregateObj != null, "Missing expected running value: {0}", text);
                     aggregateObj.Update();
                 }
             }
             if (base.m_outerScope != null && base.m_hierarchyDef.DataRegionDef.CellPostSortAggregates != null)
             {
                 using (base.m_outerScope.PinValue())
                 {
                     base.m_outerScope.Value().ReadRow(dataAction, context);
                 }
             }
         }
         else
         {
             if (this.m_staticCellRVs != null)
             {
                 for (int j = 0; j < this.m_staticCellRVs.Count; j++)
                 {
                     string text2 = this.m_staticCellRVs[j];
                     AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj aggregateObj2 = aggregatesImpl.GetAggregateObj(text2);
                     Global.Tracer.Assert(aggregateObj2 != null, "Missing expected running value: {0}", text2);
                     aggregateObj2.Update();
                 }
             }
             base.ReadRow(dataAction, context);
         }
     }
 }