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); } }
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; } }
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(); } }
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()); } } }
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); } } }