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