public static string[] FiltersToFolderFiles(Query query) { //Get Filters var constraints = BuildConstraintDictionary(query.Constraints); constraints.TryGetValue("SearchPath", out var folder); if (folder == null) { throw new InvalidExecuteQueryException("Missing Folder filter."); } if (folder.ToString().EndsWith("\\") == false) { folder = folder + "\\".ToString(); } constraints.TryGetValue("SearchPattern", out var SearchPattern); if (SearchPattern == null) { SearchPattern = "*"; } constraints.TryGetValue("SearchOption", out var SearchOption); if (SearchOption == null || !Enum.TryParse <SearchOption>(SearchOption.ToString(), out var searchOptionResult)) { searchOptionResult = System.IO.SearchOption.TopDirectoryOnly; } //Get File List string[] dirs = null; try { dirs = Directory.GetFiles(folder.ToString(), SearchPattern.ToString(), searchOptionResult) ?? null; } catch { } return(dirs); }