protected virtual bool ReadRowFromDataSet()
 {
     if (this.m_nextDataFieldRowToProcess != null)
     {
         this.m_nextDataFieldRowToProcess.SetFields(this.m_odpContext.ReportObjectModel.GetFieldsImplForUpdate(this.m_idcDataSet));
         this.m_nextDataFieldRowToProcess = null;
     }
     else
     {
         if (this.m_dataSource == null)
         {
             if (this.m_odpContext.QueryRestartInfo != null)
             {
                 this.SetupRelationshipQueryRestart();
             }
             this.m_dataSource = new RuntimeIdcIncrementalDataSource(this.m_idcDataSet, this.m_odpContext);
             this.m_dataSource.Initialize();
         }
         if (!this.m_dataSource.SetupNextRow())
         {
             return(false);
         }
     }
     return(true);
 }
Ejemplo n.º 2
0
        public int AddRow(DataFieldRow row)
        {
            int count = this.m_rows.Count;

            this.m_rows.Add(row);
            return(count);
        }
        private AspNetCore.ReportingServices.RdlExpressions.VariantResult[] EvaluatePrimaryKeyExpressions(RuntimeDataTablixGroupLeafObjReference groupLeafRef, Relationship relationship)
        {
            RuntimeDataTablixGroupLeafObj runtimeDataTablixGroupLeafObj = groupLeafRef.Value();
            DataFieldRow dataFieldRow = runtimeDataTablixGroupLeafObj.DataRows[0];

            dataFieldRow.RestoreDataSetAndSetFields(base.m_odpContext, relationship.RelatedDataSet.DataSetCore.FieldsContext);
            return(relationship.EvaluateJoinConditionKeys(true, base.m_odpContext.ReportRuntime));
        }
 public static void CommonFirstRow(OnDemandProcessingContext odpContext, ref bool firstRowIsAggregate, ref DataFieldRow firstRow)
 {
     if (!firstRowIsAggregate && firstRow != null)
     {
         return;
     }
     firstRow            = new DataFieldRow(odpContext.ReportObjectModel.FieldsImpl, true);
     firstRowIsAggregate = odpContext.ReportObjectModel.FieldsImpl.IsAggregateRow;
 }
Ejemplo n.º 5
0
 public void ReadRows(DataActions action, ITraversalContext context)
 {
     for (int i = 0; i < this.m_dataRows.Count; i++)
     {
         DataFieldRow dataFieldRow = this.m_dataRows[i];
         dataFieldRow.SetFields(base.m_odpContext.ReportObjectModel.FieldsImpl);
         this.ReadRow(action, context);
     }
 }
 protected void SetupFields(DataFieldRow dataRow)
 {
     if (dataRow == null)
     {
         this.m_odpContext.ReportObjectModel.CreateNoRows();
     }
     else
     {
         dataRow.SetFields(this.m_odpContext.ReportObjectModel.FieldsImpl);
     }
 }
Ejemplo n.º 7
0
 private void Traverse(DataFieldRow dataRow, ProcessingStages operation, DataRowSortOwnerTraversalContext context, IHierarchyObj owner)
 {
     dataRow.SetFields(owner.OdpContext.ReportObjectModel.FieldsImpl);
     if (operation == ProcessingStages.UserSortFilter)
     {
         owner.ReadRow();
     }
     else
     {
         context.SortOwner.PostDataRowSortNextRow();
     }
 }
        protected virtual void PushBackLastRow()
        {
            FieldsImpl fieldsImplForUpdate = this.m_odpContext.ReportObjectModel.GetFieldsImplForUpdate(this.m_idcDataSet);

            if (fieldsImplForUpdate.IsAggregateRow)
            {
                this.m_nextDataFieldRowToProcess = new AggregateRow(fieldsImplForUpdate, true);
            }
            else
            {
                this.m_nextDataFieldRowToProcess = new DataFieldRow(fieldsImplForUpdate, true);
            }
        }
 protected void ScopeFinishSorting(ref DataFieldRow firstRow, RuntimeUserSortTargetInfo sortTargetInfo)
 {
     Global.Tracer.Assert(null != sortTargetInfo, "(null != sortTargetInfo)");
     firstRow = null;
     sortTargetInfo.SortTree.Traverse(ProcessingStages.UserSortFilter, true, null);
     sortTargetInfo.SortTree.Dispose();
     sortTargetInfo.SortTree = null;
     if (sortTargetInfo.AggregateRows != null)
     {
         for (int i = 0; i < sortTargetInfo.AggregateRows.Count; i++)
         {
             sortTargetInfo.AggregateRows[i].SetFields(this.m_odpContext.ReportObjectModel.FieldsImpl);
             this.SendToInner();
         }
         sortTargetInfo.AggregateRows = null;
     }
 }
Ejemplo n.º 10
0
        public void NextRow(OnDemandProcessingContext odpContext, int depth)
        {
            DataFieldRow dataFieldRow = new DataFieldRow(odpContext.ReportObjectModel.FieldsImpl, true);

            if (this.m_firstRow == null)
            {
                this.m_firstRow = dataFieldRow;
            }
            else
            {
                if (this.m_dataRows == null)
                {
                    this.m_dataRows = new ScalableList <DataFieldRow>(depth, odpContext.TablixProcessingScalabilityCache);
                }
                this.m_dataRows.Add(dataFieldRow);
            }
        }
Ejemplo n.º 11
0
        public void Deserialize(IntermediateFormatReader reader)
        {
            reader.RegisterDeclaration(RuntimeSortDataHolder.m_declaration);
            while (reader.NextMember())
            {
                switch (reader.CurrentMember.MemberName)
                {
                case MemberName.FirstRow:
                    this.m_firstRow = (DataFieldRow)reader.ReadRIFObject();
                    break;

                case MemberName.DataRows:
                    this.m_dataRows = reader.ReadRIFObject <ScalableList <DataFieldRow> >();
                    break;

                default:
                    Global.Tracer.Assert(false);
                    break;
                }
            }
        }
 protected void SetupEnvironment(List <AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj> nonCustomAggregates, List <AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj> customAggregates, DataFieldRow dataRow)
 {
     this.SetupAggregates(nonCustomAggregates);
     this.SetupAggregates(customAggregates);
     this.SetupFields(dataRow);
     this.m_odpContext.ReportRuntime.CurrentScope = this;
 }
Ejemplo n.º 13
0
        public void SetupRow(int index, OnDemandProcessingContext odpContext)
        {
            DataFieldRow row = this.GetRow(index);

            row.SetFields(odpContext.ReportObjectModel.FieldsImpl);
        }
Ejemplo n.º 14
0
        public override void Deserialize(IntermediateFormatReader reader)
        {
            base.Deserialize(reader);
            reader.RegisterDeclaration(RuntimeRDLDataRegionObj.m_declaration);
            IScalabilityCache scalabilityCache = reader.PersistenceHelper as IScalabilityCache;

            while (reader.NextMember())
            {
                switch (reader.CurrentMember.MemberName)
                {
                case MemberName.DataRegionDef:
                {
                    int id2 = reader.ReadInt32();
                    this.m_dataRegionDef = (AspNetCore.ReportingServices.ReportIntermediateFormat.DataRegion)scalabilityCache.FetchStaticReference(id2);
                    break;
                }

                case MemberName.OuterScope:
                    this.m_outerScope = (IReference <IScope>)reader.ReadRIFObject();
                    break;

                case MemberName.FirstRow:
                    this.m_firstRow = (DataFieldRow)reader.ReadRIFObject();
                    break;

                case MemberName.FirstRowIsAggregate:
                    this.m_firstRowIsAggregate = reader.ReadBoolean();
                    break;

                case MemberName.Filters:
                {
                    int id = reader.ReadInt32();
                    this.m_filters = (Filters)scalabilityCache.FetchStaticReference(id);
                    break;
                }

                case MemberName.NonCustomAggregates:
                    this.m_nonCustomAggregates = reader.ReadListOfRIFObjects <List <AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj> >();
                    break;

                case MemberName.CustomAggregates:
                    this.m_customAggregates = reader.ReadListOfRIFObjects <List <AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj> >();
                    break;

                case MemberName.DataAction:
                    this.m_dataAction = (DataActions)reader.ReadEnum();
                    break;

                case MemberName.OuterDataAction:
                    this.m_outerDataAction = (DataActions)reader.ReadEnum();
                    break;

                case MemberName.RunningValues:
                    this.m_runningValues = reader.ReadListOfPrimitives <string>();
                    break;

                case MemberName.PreviousValues:
                    this.m_previousValues = reader.ReadListOfPrimitives <string>();
                    break;

                case MemberName.RunningValueValues:
                    this.m_runningValueValues = reader.ReadArrayOfRIFObjects <AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObjResult>();
                    break;

                case MemberName.RunningValueOfAggregateValues:
                    this.m_runningValueOfAggregateValues = reader.ReadArrayOfRIFObjects <AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObjResult>();
                    break;

                case MemberName.PostSortAggregates:
                    this.m_postSortAggregates = reader.ReadListOfRIFObjects <List <AspNetCore.ReportingServices.ReportIntermediateFormat.DataAggregateObj> >();
                    break;

                case MemberName.DataRows:
                    this.m_dataRows = reader.ReadRIFObject <ScalableList <DataFieldRow> >();
                    break;

                case MemberName.InnerDataAction:
                    this.m_innerDataAction = (DataActions)reader.ReadEnum();
                    break;

                case MemberName.UserSortTargetInfo:
                    this.m_userSortTargetInfo = (RuntimeUserSortTargetInfo)reader.ReadRIFObject();
                    break;

                case MemberName.SortFilterExpressionScopeInfoIndices:
                    this.m_sortFilterExpressionScopeInfoIndices = reader.ReadInt32Array();
                    break;

                case MemberName.InDataRowSortPhase:
                    this.m_inDataRowSortPhase = reader.ReadBoolean();
                    break;

                case MemberName.SortedDataRowTree:
                    this.m_sortedDataRowTree = (BTree)reader.ReadRIFObject();
                    break;

                case MemberName.DataRowSortExpression:
                    this.m_dataRowSortExpression = (RuntimeExpressionInfo)reader.ReadRIFObject();
                    break;

                case MemberName.AggregatesOfAggregates:
                    this.m_aggregatesOfAggregates = (BucketedDataAggregateObjs)reader.ReadRIFObject();
                    break;

                case MemberName.PostSortAggregatesOfAggregates:
                    this.m_postSortAggregatesOfAggregates = (BucketedDataAggregateObjs)reader.ReadRIFObject();
                    break;

                case MemberName.HasProcessedAggregateRow:
                    this.m_hasProcessedAggregateRow = reader.ReadBoolean();
                    break;

                default:
                    Global.Tracer.Assert(false);
                    break;
                }
            }
        }