private void Traverse(ProcessingStages operation, AggregateUpdateContext context) { for (int i = 0; i < this.m_dataRegionObjs.Count; i++) { RuntimeDataRegionObjReference runtimeDataRegionObjReference = this.m_dataRegionObjs[i]; if ((BaseReference)runtimeDataRegionObjReference != (object)null) { using (runtimeDataRegionObjReference.PinValue()) { switch (operation) { case ProcessingStages.SortAndFilter: runtimeDataRegionObjReference.Value().SortAndFilter(context); break; case ProcessingStages.UpdateAggregates: runtimeDataRegionObjReference.Value().UpdateAggregates(context); break; default: Global.Tracer.Assert(false, "Unknown ProcessingStage in Traverse"); break; } } } } }
public void CalculateRunningValues(Dictionary <string, IReference <RuntimeGroupRootObj> > groupCollection, IReference <RuntimeGroupRootObj> lastGroup, AggregateUpdateContext aggContext) { for (int i = 0; i < this.m_dataRegionObjs.Count; i++) { RuntimeDataRegionObjReference runtimeDataRegionObjReference = this.m_dataRegionObjs[i]; if ((BaseReference)runtimeDataRegionObjReference != (object)null) { using (runtimeDataRegionObjReference.PinValue()) { runtimeDataRegionObjReference.Value().CalculateRunningValues(groupCollection, lastGroup, aggContext); } } } }
private static void CreateDataRegionInstance(ScopeInstance parentInstance, OnDemandProcessingContext odpContext, RuntimeDataRegionObjReference dataRegionObjRef) { if (!(dataRegionObjRef == null)) { using (dataRegionObjRef.PinValue()) { RuntimeDataTablixObj obj = (RuntimeDataTablixObj)dataRegionObjRef.Value(); Microsoft.ReportingServices.ReportIntermediateFormat.DataRegion dataRegionDef = obj.DataRegionDef; obj.SetupEnvironment(); DataRegionInstance dataRegionInstance = DataRegionInstance.CreateInstance(parentInstance, odpContext.OdpMetadata, dataRegionDef, odpContext.CurrentDataSetIndex).Value(); obj.CreateInstances(dataRegionInstance); dataRegionInstance.InstanceComplete(); dataRegionDef.RuntimeDataRegionObj = null; } } }
public void FirstPassNextDataRow(OnDemandProcessingContext odpContext) { AggregateRowInfo aggregateRowInfo = AggregateRowInfo.CreateAndSaveAggregateInfo(odpContext); for (int i = 0; i < this.m_dataRegionObjs.Count; i++) { RuntimeDataRegionObjReference runtimeDataRegionObjReference = this.m_dataRegionObjs[i]; if ((BaseReference)runtimeDataRegionObjReference != (object)null) { using (runtimeDataRegionObjReference.PinValue()) { runtimeDataRegionObjReference.Value().NextRow(); } aggregateRowInfo.RestoreAggregateInfo(odpContext); } } }
private static void CreateDataRegionInstance(ScopeInstance parentInstance, OnDemandProcessingContext odpContext, RuntimeDataRegionObjReference dataRegionObjRef) { if (!((BaseReference)dataRegionObjRef == (object)null)) { using (dataRegionObjRef.PinValue()) { RuntimeDataTablixObj runtimeDataTablixObj = (RuntimeDataTablixObj)dataRegionObjRef.Value(); AspNetCore.ReportingServices.ReportIntermediateFormat.DataRegion dataRegionDef = runtimeDataTablixObj.DataRegionDef; runtimeDataTablixObj.SetupEnvironment(); IReference <DataRegionInstance> reference = DataRegionInstance.CreateInstance(parentInstance, odpContext.OdpMetadata, dataRegionDef, odpContext.CurrentDataSetIndex); DataRegionInstance dataRegionInstance = reference.Value(); runtimeDataTablixObj.CreateInstances(dataRegionInstance); dataRegionInstance.InstanceComplete(); dataRegionDef.RuntimeDataRegionObj = null; } } }