Ejemplo n.º 1
0
        // 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));
                }
            }
        }
Ejemplo n.º 2
0
        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);
                }
            });
        }
Ejemplo n.º 3
0
        // 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);
            }
        }
Ejemplo n.º 4
0
 public bool IsAnySelected()
 {
     return(FileList.Any(file => file.IsSelected));
 }
Ejemplo n.º 5
0
 private bool CanDeleteItem(FileRecord record)
 {
     return(record != null && FileList.Any(r => r.ID.Equals(record.ID)));
 }