示例#1
0
        public void Deserialize(IntermediateFormatReader reader)
        {
            reader.RegisterDeclaration(m_Declaration);
            while (reader.NextMember())
            {
                switch (reader.CurrentMember.MemberName)
                {
                case MemberName.Name:
                    m_name = reader.ReadString();
                    break;

                case MemberName.ID:
                    m_ID = reader.ReadInt32();
                    break;

                case MemberName.GroupExpressions:
                    m_groupExpressions = reader.ReadGenericListOfRIFObjects <ExpressionInfo>();
                    break;

                case MemberName.GroupLabel:
                    m_groupLabel = (ExpressionInfo)reader.ReadRIFObject();
                    break;

                case MemberName.SortDirections:
                    m_sortDirections = reader.ReadListOfPrimitives <bool>();
                    break;

                case MemberName.PageBreakLocation:
                    m_pageBreak = new PageBreak();
                    m_pageBreak.BreakLocation = (PageBreakLocation)reader.ReadEnum();
                    break;

                case MemberName.Aggregates:
                    m_aggregates = reader.ReadGenericListOfRIFObjects <DataAggregateInfo>();
                    break;

                case MemberName.GroupAndSort:
                    m_groupAndSort = reader.ReadBoolean();
                    break;

                case MemberName.Filters:
                    m_filters = reader.ReadGenericListOfRIFObjects <Filter>();
                    break;

                case MemberName.ReportItemsWithHideDuplicates:
                    m_reportItemsWithHideDuplicates = reader.ReadGenericListOfReferences <ReportItem>(this);
                    break;

                case MemberName.Parent:
                    m_parent = reader.ReadGenericListOfRIFObjects <ExpressionInfo>();
                    break;

                case MemberName.RecursiveAggregates:
                    m_recursiveAggregates = reader.ReadGenericListOfRIFObjects <DataAggregateInfo>();
                    break;

                case MemberName.PostSortAggregates:
                    m_postSortAggregates = reader.ReadGenericListOfRIFObjects <DataAggregateInfo>();
                    break;

                case MemberName.DataElementName:
                    m_dataElementName = reader.ReadString();
                    break;

                case MemberName.DataElementOutput:
                    m_dataElementOutput = (DataElementOutputTypes)reader.ReadEnum();
                    break;

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

                case MemberName.UserSortExpressions:
                    m_userSortExpressions = reader.ReadGenericListOfRIFObjects <ExpressionInfo>();
                    break;

                case MemberName.NonDetailSortFiltersInScope:
                    m_nonDetailSortFiltersInScope = reader.ReadInt32PrimitiveListHashtable <InScopeSortFilterHashtable, int>();
                    break;

                case MemberName.DetailSortFiltersInScope:
                    m_detailSortFiltersInScope = reader.ReadInt32PrimitiveListHashtable <InScopeSortFilterHashtable, int>();
                    break;

                case MemberName.Variables:
                    m_variables = reader.ReadGenericListOfRIFObjects <Variable>();
                    break;

                case MemberName.PageBreak:
                    m_pageBreak = (PageBreak)reader.ReadRIFObject();
                    break;

                case MemberName.PageName:
                    m_pageName = (ExpressionInfo)reader.ReadRIFObject();
                    break;

                case MemberName.DomainScope:
                    m_domainScope = reader.ReadString();
                    break;

                case MemberName.ScopeIDForDomainScope:
                    m_scopeIDForDomainScope = reader.ReadInt32();
                    break;

                case MemberName.NaturalGroup:
                    m_naturalGroup = reader.ReadBoolean();
                    break;

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