Exemple #1
0
        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);
        }
Exemple #2
0
        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;
            }));
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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;
            }));
        }