Beispiel #1
0
        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;*/
                }
            }
        }