Пример #1
0
        private void GetPackagesForLatestUsed()
        {
            ModelPackageUpgradeList = ModelFlatPackageList.Select(package => new ModelPackageUpgrade {
                Upgrade = false, PackageName = package.PackageName, Version = package.Version.ToString()
            }).ToList();

            var packagesWithMultipleVersions = ModelPackageUpgradeList.Distinct(new DistinctPackageUpgradeComparer()).GroupBy(x => x.PackageName).Where(y => y.Count() > 1).ToList();


            foreach (var package in packagesWithMultipleVersions)
            {
                var multipleVersionPackageList = ModelPackageUpgradeList.FindAll(x => x.PackageName == package.Key);

                var latestVersion = new Version(0, 0, 0);
                foreach (var foundPackage in multipleVersionPackageList)
                {
                    if (new Version(foundPackage.Version) > latestVersion)
                    {
                        latestVersion = new Version(foundPackage.Version);
                    }
                }

                var outOfDatePackagesCount = 0;
                foreach (var foundPackage in multipleVersionPackageList)
                {
                    //if (!HideDetailedInfo)
                    //    Console.WriteLine($" {foundPackage.ParentProject} uses {foundPackage.Version} {foundPackage.TargetFramework}");

                    if (new Version(foundPackage.Version) != latestVersion)
                    {
                        outOfDatePackagesCount++;
                    }
                }


                var mPackageUpgrade = new ModelPackageUpgrade
                {
                    Upgrade           = false,
                    PackageName       = package.Key,
                    Version           = latestVersion.ToString(),
                    OutOfDatePackages = outOfDatePackagesCount
                };
                DistinctPackagesToUpgradeList.Add(mPackageUpgrade);
            }
        }
Пример #2
0
        private void GetPackagesForManual()
        {
            ModelPackageUpgradeList = ModelFlatPackageList.Select(package => new ModelPackageUpgrade {
                Upgrade = false, PackageName = package.PackageName, Version = package.Version.ToString()
            }).ToList();

            var packagesWithMultipleVersions = ModelPackageUpgradeList.Distinct(new DistinctPackageUpgradeComparer()).GroupBy(x => x.PackageName).Where(y => y.Count() > 1).ToList();

            foreach (var package in packagesWithMultipleVersions)
            {
                var multipleVersionPackageList = ModelPackageUpgradeList.FindAll(x => x.PackageName == package.Key);

                var latestVersion = new Version(0, 0, 0);
                foreach (var foundPackage in multipleVersionPackageList)
                {
                    if (new Version(foundPackage.Version) > latestVersion)
                    {
                        latestVersion = new Version(foundPackage.Version);
                    }
                }

                var outOfDatePackagesCount = 0;
                foreach (var foundPackage in multipleVersionPackageList)
                {
                    if (new Version(foundPackage.Version) != latestVersion)
                    {
                        outOfDatePackagesCount++;
                    }
                }

                ModelPackageUpgradeList.Where(x => x.PackageName == package.Key).ToList().ForEach(y => y.Version           = latestVersion.ToString());
                ModelPackageUpgradeList.Where(x => x.PackageName == package.Key).ToList().ForEach(y => y.OutOfDatePackages = outOfDatePackagesCount);
            }

            DistinctPackagesToUpgradeList = ModelPackageUpgradeList.Distinct(new DistinctPackageUpgradeNameComparer()).ToList();
        }