public bool MoveNext()
        {
            if (m_rifReader.EOS)
            {
                return(false);
            }
            m_currentNode = null;
            IPersistable persistable = m_rifReader.ReadRIFObject();

            switch (persistable.GetObjectType())
            {
            case Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.ObjectType.DocumentMapBeginContainer:
            {
                bool result = MoveNext();
                m_level++;
                return(result);
            }

            case Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.ObjectType.DocumentMapEndContainer:
                m_level--;
                return(MoveNext());

            case Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.ObjectType.DocumentMapNode:
            {
                DocumentMapNode documentMapNode = (DocumentMapNode)persistable;
                m_currentNode = new Microsoft.ReportingServices.OnDemandReportRendering.DocumentMapNode(documentMapNode.Label, documentMapNode.Id, m_level);
                return(true);
            }

            default:
                Global.Tracer.Assert(condition: false);
                return(false);
            }
        }
示例#2
0
 private void Write(IPersistable persistableObj, bool verify)
 {
     if (persistableObj != null)
     {
         m_writer.Write(persistableObj.GetObjectType());
         persistableObj.Serialize(this);
     }
     else
     {
         m_writer.WriteNull();
     }
 }