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); }
/// <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); }
/// <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; }