public IEnumerable <VersionInfo> GetVersions(IPackage package, SearchFilter filter, CancellationToken cancellationToken) { cancellationToken.ThrowIfCancellationRequested(); // apply the filters to the version list returned var packages = V2Client.FindPackagesById(package.Id) .Where(p => filter.IncludeDelisted || !p.Published.HasValue || p.Published.Value.Year > 1901) .Where(v => filter.IncludePrerelease || string.IsNullOrEmpty(v.Version.SpecialVersion)) .ToArray(); IEnumerable <VersionInfo> versions = packages .Select(p => new VersionInfo(V2Utilities.SafeToNuGetVer(p.Version), p.DownloadCount) { PackageSearchMetadata = new PackageSearchMetadata(package) }) .OrderByDescending(v => v.Version, VersionComparer.VersionRelease); var packageVersion = V2Utilities.SafeToNuGetVer(package.Version); if (!versions.Any(v => v.Version == packageVersion)) { versions = versions.Concat(new[] { new VersionInfo(packageVersion, package.DownloadCount) { PackageSearchMetadata = new PackageSearchMetadata(package) } }); } return(versions); }
private UISearchMetadata CreatePackageSearchResult(IPackage package, CancellationToken cancellationToken) { cancellationToken.ThrowIfCancellationRequested(); var versions = V2Client.FindPackagesById(package.Id); if (!versions.Any()) { versions = new[] { package }; } string id = package.Id; NuGetVersion version = V2Utilities.SafeToNuGetVer(package.Version); string summary = package.Summary; IEnumerable <NuGetVersion> nuGetVersions = versions.Select(p => V2Utilities.SafeToNuGetVer(p.Version)); if (string.IsNullOrWhiteSpace(summary)) { summary = package.Description; } Uri iconUrl = package.IconUrl; PackageIdentity identity = new PackageIdentity(id, version); UISearchMetadata searchMetaData = new UISearchMetadata(identity, summary, iconUrl, nuGetVersions, null); return(searchMetaData); }
private UISearchMetadata CreatePackageSearchResult(IPackage package, SearchFilter filters, CancellationToken cancellationToken) { var id = package.Id; var version = V2Utilities.SafeToNuGetVer(package.Version); var title = package.Title; var summary = package.Summary; if (string.IsNullOrWhiteSpace(summary)) { summary = package.Description; } if (string.IsNullOrEmpty(title)) { title = id; } var iconUrl = package.IconUrl; var identity = new PackageIdentity(id, version); var versions = new Lazy <Task <IEnumerable <VersionInfo> > >(() => GetVersionInfoAsync(package, filters, cancellationToken)); var searchMetaData = new UISearchMetadata(identity, title, summary, iconUrl, versions, UIMetadataResourceV2.GetVisualStudioUIPackageMetadata(package)); return(searchMetaData); }
private async Task <UISearchMetadata> CreatePackageSearchResult(IPackage package, SearchFilter filters, CancellationToken cancellationToken) { return(await Task.Run(() => { cancellationToken.ThrowIfCancellationRequested(); // apply the filters to the version list returned var versions = V2Client.FindPackagesById(package.Id) .Where(p => filters.IncludeDelisted || !p.Published.HasValue || p.Published.Value.Year > 1901) .Where(v => filters.IncludePrerelease || String.IsNullOrEmpty(v.Version.SpecialVersion)).ToArray(); if (!versions.Any()) { versions = new[] { package }; } string id = package.Id; NuGetVersion version = V2Utilities.SafeToNuGetVer(package.Version); string title = package.Title; string summary = package.Summary; var nuGetVersions = versions.Select(p => new VersionInfo(V2Utilities.SafeToNuGetVer(p.Version), p.DownloadCount)); if (String.IsNullOrWhiteSpace(summary)) { summary = package.Description; } if (String.IsNullOrEmpty(title)) { title = id; } Uri iconUrl = package.IconUrl; PackageIdentity identity = new PackageIdentity(id, version); UISearchMetadata searchMetaData = new UISearchMetadata(identity, title, summary, iconUrl, nuGetVersions, UIMetadataResourceV2.GetVisualStudioUIPackageMetadata(package)); return searchMetaData; })); }
private PSSearchMetadata CreatePackageSearchResult(IPackage package, SearchFilter filters, CancellationToken cancellationToken) { var id = package.Id; var version = V2Utilities.SafeToNuGetVer(package.Version); var summary = package.Summary; if (string.IsNullOrWhiteSpace(summary)) { summary = package.Description; } var iconUrl = package.IconUrl; var identity = new PackageIdentity(id, version); var versions = new Lazy <Task <IEnumerable <NuGetVersion> > >(() => GetVersionInfoAsync(package, filters, cancellationToken)); var searchMetaData = new PSSearchMetadata(identity, versions, summary); return(searchMetaData); }
public Task <IEnumerable <NuGetVersion> > GetVersionInfoAsync(IPackage package, SearchFilter filters, CancellationToken cancellationToken) { return(Task.Run(() => { cancellationToken.ThrowIfCancellationRequested(); // apply the filters to the version list returned var versions = V2Client.FindPackagesById(package.Id) .Where(p => filters.IncludeDelisted || !p.Published.HasValue || p.Published.Value.Year > 1901) .Where(v => filters.IncludePrerelease || string.IsNullOrEmpty(v.Version.SpecialVersion)).ToArray(); if (!versions.Any()) { versions = new[] { package }; } var nuGetVersions = versions.Select(p => V2Utilities.SafeToNuGetVer(p.Version)); return nuGetVersions; })); }