Пример #1
0
 internal override DocumentMapNode GetDocumentMap(string rootLabel)
 {
     try
     {
         lock (m_syncObject)
         {
             if (!m_processingHost.ExecutionInfo.HasSnapshot)
             {
                 throw new InvalidOperationException(CommonStrings.ReportNotReady);
             }
             IDocumentMap documentMap;
             try
             {
                 documentMap = m_processingHost.GetDocumentMap();
             }
             catch (Exception processingException)
             {
                 throw WrapProcessingException(processingException);
             }
             return(DocumentMapNode.CreateTree(documentMap, rootLabel));
         }
     }
     catch (SecurityException processingException2)
     {
         throw new LocalProcessingException(CommonStrings.LocalModeMissingFullTrustErrors, processingException2);
     }
 }
        internal static DocumentMapNode CreateTree(IDocumentMap docMap, string rootName)
        {
            DocumentMapNode documentMapNode = CreateNode(docMap);

            if (documentMapNode != null)
            {
                documentMapNode.m_label = rootName;
            }
            return(documentMapNode);
        }
Пример #3
0
        internal static DocumentMapNode CreateTree(Microsoft.Reporting.NETCore.Internal.Soap.ReportingServices2005.Execution.DocumentMapNode serverNode, string rootName)
        {
            DocumentMapNode documentMapNode = CreateNode(serverNode);

            if (documentMapNode != null)
            {
                documentMapNode.m_label = rootName;
            }
            return(documentMapNode);
        }
 private static void CollapseTopLevel(Stack <NodeStackEntry> nodeStack, List <DocumentMapNode> workspace)
 {
     if (nodeStack != null && nodeStack.Count > 1)
     {
         int level = nodeStack.Peek().Level;
         workspace.Clear();
         while (nodeStack.Peek().Level == level)
         {
             workspace.Add(nodeStack.Pop().Node);
         }
         DocumentMapNode node = nodeStack.Peek().Node;
         node.SetNodeChildren(new DocumentMapNode[workspace.Count]);
         for (int num = workspace.Count - 1; num >= 0; num--)
         {
             node.Children[workspace.Count - num - 1] = workspace[num];
         }
     }
 }
Пример #5
0
        internal static DocumentMapNode CreateNode(Microsoft.Reporting.NETCore.Internal.Soap.ReportingServices2005.Execution.DocumentMapNode serverNode)
        {
            if (serverNode == null)
            {
                return(null);
            }
            int num = 0;

            if (serverNode.Children != null)
            {
                num = serverNode.Children.Length;
            }
            DocumentMapNode[] array = new DocumentMapNode[num];
            for (int i = 0; i < num; i++)
            {
                array[i] = CreateNode(serverNode.Children[i]);
            }
            return(new DocumentMapNode(serverNode.Label, serverNode.UniqueName, array));
        }
 public DocumentMapNode GetDocumentMap(string rootLabel)
 {
     return(DocumentMapNode.CreateTree(Service.GetDocumentMap(), rootLabel));
 }