コード例 #1
0
        /// <summary>
        /// Basic search
        /// </summary>
        public override async Task<IEnumerable<SimpleSearchMetadata>> Search(string searchTerm, SearchFilter filters, int skip, int take, CancellationToken cancellationToken)
        {
            var results = new List<SimpleSearchMetadata>();

            foreach (var result in await _rawSearch.Search(searchTerm, filters, skip, take, cancellationToken))
            {
                var version = NuGetVersion.Parse(result["version"].ToString());
                var identity = new PackageIdentity(result["id"].ToString(), version);

                var description = result["description"].ToString();

                var allVersions = new List<NuGetVersion>();

                foreach (var versionObj in ((JArray)result["versions"]))
                {
                    allVersions.Add(NuGetVersion.Parse(versionObj["version"].ToString()));
                }

                var data = new SimpleSearchMetadata(identity, description, allVersions);

                results.Add(data);
            }

            return results;
        }
コード例 #2
0
        private SimpleSearchMetadata CreatePackageSearchResult(IPackage package)
        {
            var versions = V2Client.FindPackagesById(package.Id);
            if (!versions.Any())
            {
                versions = new[] { package };
            }
            var id = package.Id;
            var version = V2Utilities.SafeToNuGetVer(package.Version);
            var summary = package.Summary;
            var nuGetVersions = versions.Select(p => V2Utilities.SafeToNuGetVer(p.Version));
            if (string.IsNullOrWhiteSpace(summary))
            {
                summary = package.Description;
            }

            var iconUrl = package.IconUrl;
            var identity = new PackageIdentity(id, version);
            var searchMetaData = new SimpleSearchMetadata(identity, summary, nuGetVersions);
            return searchMetaData;
        }