public async Task Run() { var sw = Stopwatch.StartNew(); try { Log.Information("Requery Statistics Package Support Task Started"); var stats = _statisticsRepository.GetAllPackageStatistics(); var packageNames = stats.Select(s => s.Name).ToArray(); var result = await PackageCompatabilityInvestigator.Create(new NoNugetResultCache()) .Process("Requery", packageNames); foreach (var stat in stats) { var packageResult = result.Dependencies.FirstOrDefault(f => f.PackageName.EqualsOrdinalIgnoreCase(stat.Name)); UpdatePackage(packageResult, stat); } } catch (Exception ex) { Log.Error(ex, "Requery Statistics Package Support Task failed"); } Log.Information("Requery Statistics Package Support Task Finished in {time}", sw.Elapsed); }
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()); }