public IReadOnlyList <PackageStatisticResponse> Get() { return(_statisticsRepository.GetAllPackageStatistics() .OrderByDescending(p => p.Count) .ThenBy(p => p.Name) .Select(p => new PackageStatisticResponse() { Statistic = p, MoreInformation = MoreInformationRepository.Get(p.Name).ValueOrNull() }) .ToArray()); }
private async Task <PackageResult> GetPackageAndDependencies(string id) { try { var moreInformation = MoreInformationRepository.Get(id); var knownReplacement = KnownReplacementsRepository.Get(id); if (knownReplacement.Some) { return(PackageResult.KnownReplacement(id, knownReplacement.Value)); } var package = await GetReleaseOrPrereleasePackage(id); var dependencyResults = await GetDependencyResults(package.Dependencies); return(PackageResult.Success(package, dependencyResults, moreInformation)); } catch (Exception ex) { Log.Error(ex, "Error processing package {package}", id); return(PackageResult.Failed(id, "An error occured - " + ex.Message)); } }