static IEnumerable <BrowserBinary> GetVersionByDirectoryWithPattern(string browserRoot, string searchPattern, string executeablePath) { var directories = Directory.GetDirectories(browserRoot, searchPattern); var results = new List <BrowserBinary>(); foreach (var directory in directories) { var startOfVersion = directory.Substring(directory.LastIndexOf("-") + 1); var version = int.Parse(startOfVersion.Substring(0, startOfVersion.IndexOf("."))); var browserDiscovered = new BrowserBinary() { FullPath = Path.Combine(directory, executeablePath), MajorVersion = version, NotSupported = directory.ToLower().Contains("unsupported") }; if (!File.Exists(browserDiscovered.FullPath)) { throw new NotFoundException("Expected to find browser to run at " + browserDiscovered.FullPath); } results.Add(browserDiscovered); } return(results.OrderByDescending(b => b.MajorVersion)); }
static IEnumerable<BrowserBinary> GetVersionByDirectoryWithPattern(string browserRoot, string searchPattern, string executeablePath) { var directories = Directory.GetDirectories(browserRoot, searchPattern); var results = new List<BrowserBinary>(); foreach(var directory in directories) { var startOfVersion = directory.Substring(directory.LastIndexOf("-") + 1); var version = int.Parse(startOfVersion.Substring(0, startOfVersion.IndexOf("."))); var browserDiscovered = new BrowserBinary() { FullPath = Path.Combine(directory, executeablePath), MajorVersion = version, NotSupported = directory.ToLower().Contains("unsupported") }; if (!File.Exists(browserDiscovered.FullPath)) throw new NotFoundException("Expected to find browser to run at " + browserDiscovered.FullPath); results.Add(browserDiscovered); } return results.OrderByDescending(b => b.MajorVersion); }