ObservableCollection <RepositoryFileModel> GetActualFiles(List <string> usedVersions, HashSet <string> usedFiles, Dictionary <Repository, List <Team> > teams) { ObservableCollection <RepositoryFileModel> result = new ObservableCollection <RepositoryFileModel>(); foreach (var repository in teams.Keys) { foreach (Team team in teams[repository]) { if (!usedVersions.Contains(team.Version)) { continue; } foreach (string teamPath in team.TeamInfos.Select(i => testsService.GetResourcePath(repository, i.TestResourcesPath)).Distinct()) { foreach (string file in Directory.EnumerateFiles(teamPath, "*", SearchOption.AllDirectories)) { if (!usedFiles.Contains(file.ToLower())) { result.Add(new RepositoryFileModel(file, team.Version)); } } } } } return(result); }
public static HashSet <string> GetUsedFiles(Dictionary <Repository, List <string> > usedFilesByRep, ITestsService testsService) { HashSet <string> usedFiles = new HashSet <string>(); foreach (var usedFileByRep in usedFilesByRep) { foreach (string fileRelPath in usedFileByRep.Value) { string filePath = testsService.GetResourcePath(usedFileByRep.Key, fileRelPath); if (File.Exists(filePath)) { usedFiles.Add(filePath.ToLower()); } } } return(usedFiles); }