コード例 #1
0
        private List <QvDocumentAndFolders> SourceDocumentNodes(QMS_API.AgentsQmsApiService qmsApiService, QvDocumentAndFolders sourceDocumentFolder, string relativePath)
        {
            var ret = new List <QvDocumentAndFolders>();

            try
            {
                // retrieve all source document nodes of the given folder and under the specified relative path
                List <DocumentNode> sourceDocumentNodes = qmsApiService.GetSourceDocumentNodes(sourceDocumentFolder.DocumentFolder.Services.QDSID, sourceDocumentFolder.DocumentFolder.ID, relativePath);
                foreach (DocumentNode sourceDocumentNode in sourceDocumentNodes.OrderByDescending(x => x.IsSubFolder).ThenBy(x => x.Name))
                {
                    var node = new QvDocumentAndFolders
                    {
                        DocumentNode = sourceDocumentNode
                    };
                    // print all sub nodes of the current source document node if it represents a folder
                    if (sourceDocumentNode.IsSubFolder)
                    {
                        node.DocumentNodes = SourceDocumentNodes(qmsApiService, sourceDocumentFolder, relativePath + "\\" + sourceDocumentNode.Name);
                    }
                    ret.Add(node);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
            return(ret);
        }
コード例 #2
0
        private List <QvDocumentAndFolders> GetAllDocumentsAndFolders(QMS_API.AgentsQmsApiService qmsApiService, ServiceInfo info)
        {
            var ret = new List <QvDocumentAndFolders>();

            try
            {
                List <DocumentFolder> sourceDocumentsFolders = qmsApiService.GetSourceDocumentFolders(info.ID, DocumentFolderScope.General | DocumentFolderScope.Services);
                foreach (DocumentFolder sourceDocumentFolder in sourceDocumentsFolders.OrderBy(x => x.General.Path))
                {
                    var folder = new QvDocumentAndFolders
                    {
                        DocumentFolder = sourceDocumentFolder
                    };
                    // print all sub nodes of the current source document folder
                    folder.DocumentNodes = SourceDocumentNodes(qmsApiService, folder, string.Empty);
                    ret.Add(folder);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
            return(ret);
        }