// Add files to list of files to find clones in private void AddFiles_Click(object sender, RoutedEventArgs e) { IEnumerable <string> fileNames = OpenFiles(true); // No files selected if (fileNames == null) { return; } // Add all selected files if not already in list foreach (string file in fileNames) { if (!FileList.Any(f => f.FileName == file)) { FileList.Add(new TokenList(file)); } } }
private void CheckFiles(IEnumerable <string> files) { var startIndex = FileList.Count; foreach (var file in files) { if (Status == AppStatus.Stopping) { return; } if (FileList.Any(item => file.ToLower() == item.AssemblyDetails.AssemblyFile.ToLower())) { continue; } var assembly = AssemblyDetails.FromFile(file); if (assembly == null) { continue; } FileList.Add(new NgenFileItem(assembly, NgenFileStatus.Unknown)); } var processedFiles = 0; Parallel.For(startIndex, FileList.Count, i => { var file = FileList[i]; if (Status == AppStatus.Stopping) { return; } file.Status = NgenFileStatus.InProgress; var ngen = new NgenProcess(file.AssemblyDetails); file.Status = ngen.Check() ? NgenFileStatus.Installed : NgenFileStatus.Deinstalled; lock (Locker) { processedFiles++; OnProgressChanged(processedFiles, FileList.Count); } }); }
// File 2 selector text box click event handler private void File2_PreviewMouseUp(object sender, MouseButtonEventArgs e) { // Select file string fileName = OpenFiles(false)?.Single(); if (fileName == null) { return; } // Add file to file list if (FileList.Count < 2) { FileList.Add(new TokenList(fileName)); } else if (!FileList.Any(f => f.FileName == fileName)) { FileList[1] = new TokenList(fileName); } }
public bool IsAnySelected() { return(FileList.Any(file => file.IsSelected)); }
private bool CanDeleteItem(FileRecord record) { return(record != null && FileList.Any(r => r.ID.Equals(record.ID))); }