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)); }
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); }