private void AppendValidatedPackages(List <ValidatedPackageViewModel> validatedPackages, IEnumerable <PackageValidationSet> validationSets, ValidatingType validatingType) { var groups = validationSets .Where(x => x.ValidatingType == validatingType) .OrderBy(x => x.PackageId) .ThenByDescending(x => NuGetVersion.Parse(x.PackageNormalizedVersion)) .ThenByDescending(x => x.PackageKey) .ThenByDescending(x => x.Created) .ThenByDescending(x => x.Key) .GroupBy(x => x.PackageKey); foreach (var group in groups) { foreach (var set in group) { // Put completed validations first then put new validations on top. set.PackageValidations = set.PackageValidations .OrderByDescending(x => x.ValidationStatus) .ThenByDescending(x => x.ValidationStatusTimestamp) .ToList(); } var deletedStatus = _validationAdminService.GetDeletedStatus(group.Key, validatingType); var validatedPackage = new ValidatedPackageViewModel(group.ToList(), deletedStatus, validatingType); validatedPackages.Add(validatedPackage); } }
public virtual ActionResult Search(string q) { var packageValidationSets = _validationAdminService.Search(q ?? string.Empty); // Sort by lexigraphically package ID then put newer stuff on top. var groups = packageValidationSets .OrderBy(x => x.PackageId) .ThenByDescending(x => NuGetVersion.Parse(x.PackageNormalizedVersion)) .ThenByDescending(x => x.PackageKey) .ThenByDescending(x => x.Created) .ThenByDescending(x => x.Key) .GroupBy(x => x.PackageKey); var validatedPackages = new List <ValidatedPackageViewModel>(); foreach (var group in groups) { foreach (var set in group) { // Put completed validations first then put new validations on top. set.PackageValidations = set.PackageValidations .OrderByDescending(x => x.ValidationStatus) .ThenByDescending(x => x.ValidationStatusTimestamp) .ToList(); } var deletedStatus = _validationAdminService.GetPackageDeletedStatus(group.Key); var validatedPackage = new ValidatedPackageViewModel(group.ToList(), deletedStatus); validatedPackages.Add(validatedPackage); } return(View(nameof(Index), new ValidationPageViewModel(q, validatedPackages))); }
private void AppendValidatedPackages(List <ValidatedPackageViewModel> validatedPackages, IEnumerable <PackageValidationSet> validationSets, ValidatingType validatingType) { var groups = validationSets .Where(x => x.ValidatingType == validatingType) .OrderBy(x => x.PackageId, StringComparer.OrdinalIgnoreCase) .ThenByDescending(x => NuGetVersion.Parse(x.PackageNormalizedVersion)) .ThenByDescending(x => x.PackageKey) .ThenByDescending(x => x.Created) .ThenByDescending(x => x.Key) .GroupBy(x => x.PackageKey); foreach (var group in groups) { foreach (var set in group) { set.PackageValidations = set.PackageValidations .OrderBy(x => x.Started) .ToList(); } var deletedStatus = _validationAdminService.GetDeletedStatus(group.Key, validatingType); var validatedPackage = new ValidatedPackageViewModel(group.ToList(), deletedStatus, validatingType); validatedPackages.Add(validatedPackage); } }