Beispiel #1
0
        public void UpdatePackageStatus(IEnumerable <PackageCollectionItem> installedPackages)
        {
            // Get the minimum version installed in any target project/solution
            InstalledVersion = installedPackages
                               .GetPackageVersions(Id)
                               .MinOrDefault();

            // Set auto referenced to true any reference for the given id contains the flag.
            AutoReferenced = installedPackages.IsAutoReferenced(Id);

            _backgroundLatestVersionLoader = AsyncLazy.New(
                async() =>
            {
                var packageVersions = await GetVersionsAsync();

                // filter package versions based on allowed versions in packages.config
                packageVersions            = packageVersions.Where(v => AllowedVersions.Satisfies(v.Version));
                var latestAvailableVersion = packageVersions
                                             .Select(p => p.Version)
                                             .MaxOrDefault();

                return(latestAvailableVersion);
            });

            _backgroundDeprecationMetadataLoader = AsyncLazy.New(GetPackageDeprecationMetadataAsync);

            OnPropertyChanged(nameof(Status));
        }
Beispiel #2
0
        private void SetActiveVersion()
        {
            if (_satisfyingData.Count == 0)
            {
                ActiveVersion = null;
                return;
            }

            var version = AllowedVersions.FindBestMatch(_satisfyingData.Select(s => s.Version));

            if (version == null)
            {
                throw new InvalidOperationException("No best version found");
            }

            ActiveVersion = _satisfyingData.FirstOrDefault(s => s.Version == version);
        }
        public void UpdatePackageStatus(IEnumerable <PackageIdentity> installedPackages)
        {
            // Get the minimum version installed in any target project/solution
            InstalledVersion = installedPackages
                               .GetPackageVersions(Id)
                               .MinOrDefault();

            _backgroundLoader = AsyncLazy.New(
                async() =>
            {
                var packageVersions = await GetVersionsAsync();

                // filter package versions based on allowed versions in pacakge.config
                packageVersions            = packageVersions.Where(v => AllowedVersions.Satisfies(v.Version));
                var latestAvailableVersion = packageVersions
                                             .Select(p => p.Version)
                                             .MaxOrDefault();

                return(latestAvailableVersion);
            });

            OnPropertyChanged(nameof(Status));
        }
        public bool Equals(ProjectInstalledPackage other)
        {
            if (other == null)
            {
                return(false);
            }

            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            bool equalAllowedVersions;

            if (AllowedVersions != null)
            {
                equalAllowedVersions = AllowedVersions.Equals(other.AllowedVersions);
            }
            else
            {
                equalAllowedVersions = other.AllowedVersions != null;
            }

            bool equalInstalledPackage;

            if (InstalledPackage != null)
            {
                equalInstalledPackage = InstalledPackage.Equals(other.InstalledPackage);
            }
            else
            {
                equalInstalledPackage = other.InstalledPackage != null;
            }

            return(equalAllowedVersions && equalInstalledPackage);
        }