示例#1
0
        public override void Deserialize(IntermediateFormatReader reader)
        {
            base.Deserialize(reader);
            IScalabilityCache scalabilityCache = reader.PersistenceHelper as IScalabilityCache;

            reader.RegisterDeclaration(m_declaration);
            while (reader.NextMember())
            {
                switch (reader.CurrentMember.MemberName)
                {
                case MemberName.HierarchyDef:
                {
                    int id2 = reader.ReadInt32();
                    m_hierarchyDef = (Microsoft.ReportingServices.ReportIntermediateFormat.ReportHierarchyNode)scalabilityCache.FetchStaticReference(id2);
                    break;
                }

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

                case MemberName.ProcessingStage:
                    m_processingStage = (ProcessingStages)reader.ReadEnum();
                    break;

                case MemberName.ScopedRunningValues:
                    m_scopedRunningValues = reader.ReadListOfPrimitives <string>();
                    break;

                case MemberName.RunningValuesInGroup:
                    m_runningValuesInGroup = reader.ReadListOfPrimitives <string>();
                    break;

                case MemberName.PreviousValuesInGroup:
                    m_previousValuesInGroup = reader.ReadListOfPrimitives <string>();
                    break;

                case MemberName.GroupCollection:
                    m_groupCollection = reader.ReadStringRIFObjectDictionary <IReference <RuntimeGroupRootObj> >();
                    break;

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

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

                case MemberName.GroupingType:
                    m_groupingType = (RuntimeGroupingObj.GroupingTypes)reader.ReadEnum();
                    break;

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

                case MemberName.ParentExpression:
                    m_parentExpression = (RuntimeExpressionInfo)reader.ReadRIFObject();
                    break;

                case MemberName.CurrentGroupExprValue:
                    m_currentGroupExprValue = reader.ReadVariant();
                    break;

                case MemberName.SaveGroupExprValues:
                    m_saveGroupExprValues = reader.ReadBoolean();
                    break;

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

                case MemberName.BuiltinSortOverridden:
                    m_builtinSortOverridden = reader.ReadBooleanArray();
                    break;

                case MemberName.IsDetailGroup:
                    m_isDetailGroup = reader.ReadBoolean();
                    break;

                case MemberName.DetailUserSortTargetInfo:
                    m_detailUserSortTargetInfo = (RuntimeUserSortTargetInfo)reader.ReadRIFObject();
                    break;

                case MemberName.DetailRows:
                    m_detailDataRows = reader.ReadRIFObject <ScalableList <DataFieldRow> >();
                    break;

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