private QueryDefinition FindQueryRecursive(QueryFolder folder)
        {
            var query = folder.OfType <QueryDefinition>().FirstOrDefault(q => q.Name == RequirementsQuery);

            if (query != null)
            {
                return(query);
            }
            else
            {
                foreach (var subFolder in folder.OfType <QueryFolder>())
                {
                    query = FindQueryRecursive(subFolder);
                    if (query != null)
                    {
                        return(query);
                    }
                }
            }

            return(null);
        }
Example #2
0
        /// <summary>
        /// Helper function for Search, used to iterate through each
        /// query folder and return the exact match to the folderName
        /// argument
        /// </summary>
        /// <param name="hierarchyFolder"></param>
        /// <param name="folderName"></param>
        /// <returns></returns>
        private static QueryFolder Search(QueryFolder hierarchyFolder, string folderName)
        {
            // iterate through all folders in project hierarchy
            foreach (QueryFolder folder in hierarchyFolder.OfType <QueryFolder>())
            {
                // compare strings, case-insensitive
                if (folderName.Equals(folder.Name, StringComparison.OrdinalIgnoreCase))
                {
                    return(folder);
                }

                var result = Search(folder, folderName);

                if (result == null)
                {
                    continue;
                }
                return(result);
            }

            return(null);
        }
Example #3
0
        /// <summary>
        /// Helper function for Search, used to iterate through each 
        /// query folder and return the exact match to the folderName
        /// argument
        /// </summary>
        /// <param name="hierarchyFolder"></param>
        /// <param name="folderName"></param>
        /// <returns></returns>
        private static QueryFolder Search(QueryFolder hierarchyFolder, string folderName)
        {
            // iterate through all folders in project hierarchy
            foreach (QueryFolder folder in hierarchyFolder.OfType<QueryFolder>())
            {
                // compare strings, case-insensitive
                if (folderName.Equals(folder.Name, StringComparison.OrdinalIgnoreCase))
                {
                    return folder;
                }

                var result = Search(folder, folderName);

                if (result == null) continue;
                return result;
            }

            return null;
        }
        private QueryDefinition FindQueryRecursive(QueryFolder folder)
        {
            var query = folder.OfType<QueryDefinition>().FirstOrDefault(q => q.Name == RequirementsQuery);
            if (query != null)
            {
                return query;
            }
            else
            {
                foreach (var subFolder in folder.OfType<QueryFolder>())
                {
                    query = FindQueryRecursive(subFolder);
                    if (query != null)
                    {
                        return query;
                    }
                }
            }

            return null;
        }