public AppInfoCollection FindApps( IEnumerable <string> pathList, IEnumerable <string> extList, bool onlyPrograms) { var result = new AppInfoCollection(); if (extList == null) { return(result); } if (pathList == null) { return(result); } var allFiles = new List <string>(); foreach (var path in pathList) { if (!Directory.Exists(path)) { continue; } foreach (var ext in extList) { string extension = ext; if (String.IsNullOrEmpty(extension)) { continue; } if (extension.StartsWith(".") && extension.Length > 1) { extension = extension.Substring(1, ext.Length - 1); } string[] files = Directory.GetFiles(path, "*." + extension, SearchOption.AllDirectories); allFiles.AddRange(files); } } return(FindApps(allFiles, onlyPrograms)); }
protected AppInfoCollection FindApps(IEnumerable <string> files, bool onlyPrograms) { var result = new AppInfoCollection(); if (files == null) { return(result); } var uniq = new Dictionary <string, object>(100); foreach (var path in files) { var ai = GetAppInfo(path, onlyPrograms, uniq); if (ai != null) { result.Add(ai); } } return(result); }
public void AddToBin(DeletedAppCollection recycleBin, IEnumerable <AppInfo> apps, AppInfoCollection allApps) { foreach (var app in apps) { recycleBin.AddApp(null, app, false); if (allApps != null) { allApps.Remove(app); } } }