private void IterateDependenices(IEnumerable <Dependency> items, List <Dependency> depList, List <DependencyPackage> pkgList, HashSet <string> parsedFiles, PackageManager pm) { foreach (Dependency dep in items) { if (dep.State == DependencyState.Unknown) { depList.Add(dep); } else if (!parsedFiles.Contains(dep.Name)) { if (dep.PkgID == null) { depList.Add(dep); continue; } else { Package pkg = pm.CachedPackages.FirstOrDefault(x => x.PackageId == dep.PkgID); Trace.Assert(pkg != null, Localization.Strings.NonCached); pkgList.Add(new DependencyPackage(pkg.DisplayName, dep.State, pkg.PackageId)); parsedFiles.UnionWith(pkg.FilesContained); } /*foreach (Package pkg in pm.CachedPackages.Where(x => ids.Contains(x.PackageId))) * { * if (!pkgList.Any(x => x.Name == pkg.DisplayName)) * { * pkgList.Add(new DependencyPackage(pkg.DisplayName, dep.State)); * } * * }*/ /*Package pkg = pm.CachedPackages.FirstOrDefault(x => x.FilesContained.Any(y => y == dep.Name)); * * if (pkg == default) * continue;*/ } } }