protected override PackageViewModel CreatePackageViewModel(IPackage package, PackageSearchCriteria search) { PackageViewModel viewModel = base.CreatePackageViewModel(package, search); viewModel.ShowVersionInsteadOfDownloadCount = search.IsPackageVersionSearch; return(viewModel); }
IEnumerable <IPackage> GetPrioritizedPackages(PackageSearchCriteria search) { if (search.IsPackageVersionSearch) { yield break; } List <IPackage> prioritizedPackages = GetRecentPackages(search).ToList(); if (PackageViewModels.Count == 0) { foreach (IPackage package in prioritizedPackages) { yield return(package); } foreach (IPackage package in GetSolutionPackages(search)) { if (!prioritizedPackages.Contains(package, PackageEqualityComparer.IdAndVersion)) { prioritizedPackages.Add(package); yield return(package); } } } }
protected override IQueryable <IPackage> GetPackages(PackageSearchCriteria search) { if (repository == null) { throw new ApplicationException(errorMessage); } if (search.IsPackageVersionSearch) { return(repository .FindPackagesById(search.PackageId) .Where(package => IncludePrerelease || package.IsReleaseVersion()) .AsQueryable()); } if (IncludePrerelease) { return(repository .Search(search.SearchText, new string[0], IncludePrerelease) .Where(package => package.IsAbsoluteLatestVersion)); } return(repository .Search(search.SearchText, new string[0], IncludePrerelease) .Where(package => package.IsLatestVersion)); }
public PackagesForSelectedPageQuery( PackagesViewModel viewModel, IEnumerable <IPackage> allPackages, string searchCriteria) { Skip = viewModel.ItemsBeforeFirstPage; Take = viewModel.PageSize; AllPackages = allPackages; SearchCriteria = new PackageSearchCriteria(searchCriteria); TotalPackages = viewModel.TotalItems; }
public PackagesForSelectedPageQuery ( PackagesViewModel viewModel, IEnumerable<IPackage> allPackages, string searchCriteria) { Skip = viewModel.ItemsBeforeFirstPage; Take = viewModel.PageSize; AllPackages = allPackages; SearchCriteria = new PackageSearchCriteria (searchCriteria); TotalPackages = viewModel.TotalItems; }
IEnumerable <IPackage> GetSolutionPackages(PackageSearchCriteria search) { try { return(solutionPackageRepository .GetPackages() .Find(search.SearchText) .FilterByPrerelease(IncludePrerelease) .ToList()); } catch (Exception ex) { LoggingService.LogError("Unable to get solution packages so these will not be shown.", ex); return(Enumerable.Empty <IPackage> ()); } }
protected override IEnumerable<IPackage> GetFilteredPackagesBeforePagingResults(IQueryable<IPackage> allPackages, PackageSearchCriteria search) { if (search.IsPackageVersionSearch) { return base.GetFilteredPackagesBeforePagingResults (allPackages, search) .Where (package => search.IsVersionMatch (package.Version)); } if (IncludePrerelease) { return base.GetFilteredPackagesBeforePagingResults(allPackages, search) .DistinctLast<IPackage>(PackageEqualityComparer.Id); } return base.GetFilteredPackagesBeforePagingResults(allPackages, search) .Where(package => package.IsReleaseVersion()) .DistinctLast<IPackage>(PackageEqualityComparer.Id); }
protected override IQueryable<IPackage> GetPackages (PackageSearchCriteria search) { if (repository == null) { throw new ApplicationException (errorMessage); } if (search.IsPackageVersionSearch) { return repository .FindPackagesById (search.PackageId) .Where (package => IncludePrerelease || package.IsReleaseVersion ()) .AsQueryable (); } if (IncludePrerelease) { return repository .Search (search.SearchText, new string[0], IncludePrerelease) .Where (package => package.IsAbsoluteLatestVersion); } return repository .Search (search.SearchText, new string[0], IncludePrerelease) .Where (package => package.IsLatestVersion); }
IEnumerable<IPackage> GetPrioritizedPackages (PackageSearchCriteria search) { if (search.IsPackageVersionSearch) { yield break; } List<IPackage> prioritizedPackages = GetRecentPackages (search).ToList (); if (PackageViewModels.Count == 0) { foreach (IPackage package in prioritizedPackages) { yield return package; } foreach (IPackage package in GetSolutionPackages (search)) { if (!prioritizedPackages.Contains (package, PackageEqualityComparer.IdAndVersion)) { prioritizedPackages.Add (package); yield return package; } } } }
protected virtual PackageViewModel CreatePackageViewModel(IPackage package, PackageSearchCriteria search) { PackageFromRepository packageFromRepository = CreatePackageFromRepository(package); return(packageViewModelFactory.CreatePackageViewModel(this, packageFromRepository)); }
/// <summary> /// Package prioritization: /// /// Recent packages first. /// Packages in solution. /// Packages from active package source. /// </summary> protected override IEnumerable<IPackage> PrioritizePackages (IEnumerable<IPackage> packages, PackageSearchCriteria search) { List<IPackage> prioritizedPackages = GetPrioritizedPackages (search).ToList (); foreach (IPackage package in prioritizedPackages) { yield return package; } foreach (IPackage package in packages) { if (!prioritizedPackages.Contains (package, PackageEqualityComparer.IdAndVersion)) { yield return package; } } }
void UpdatePackageViewModels(IEnumerable <IPackage> packages, PackageSearchCriteria search) { IEnumerable <PackageViewModel> currentViewModels = ConvertToPackageViewModels(packages, search); UpdatePackageViewModels(currentViewModels); }
public IEnumerable <PackageViewModel> ConvertToPackageViewModels(IEnumerable <IPackage> packages, PackageSearchCriteria search) { foreach (IPackage package in packages) { PackageViewModel packageViewModel = CreatePackageViewModel(package, search); CheckNewPackageViewModelIfPreviouslyChecked(packageViewModel); yield return(packageViewModel); } }
protected override PackageViewModel CreatePackageViewModel (IPackage package, PackageSearchCriteria search) { PackageViewModel viewModel = base.CreatePackageViewModel (package, search); viewModel.ShowVersionInsteadOfDownloadCount = search.IsPackageVersionSearch; return viewModel; }
/// <summary> /// Package prioritization: /// /// Recent packages first. /// Packages in solution. /// Packages from active package source. /// </summary> protected override IEnumerable <IPackage> PrioritizePackages(IEnumerable <IPackage> packages, PackageSearchCriteria search) { List <IPackage> prioritizedPackages = GetPrioritizedPackages(search).ToList(); foreach (IPackage package in prioritizedPackages) { yield return(package); } foreach (IPackage package in packages) { if (!prioritizedPackages.Contains(package, PackageEqualityComparer.IdAndVersion)) { yield return(package); } } }
protected override IEnumerable<IPackage> GetFilteredPackagesBeforePagingResults (IQueryable<IPackage> allPackages, PackageSearchCriteria search) { PageCountBeforePackagesFiltered = Pages.Count; return base.GetFilteredPackagesBeforePagingResults (allPackages, search); }
protected override IEnumerable<IPackage> PrioritizePackages (IEnumerable<IPackage> packages, PackageSearchCriteria search) { List<IPackage> recentPackages = GetRecentPackages (search).ToList (); if (PackageViewModels.Count == 0) { foreach (IPackage package in recentPackages) { yield return package; } } foreach (IPackage package in packages) { if (!recentPackages.Contains (package, PackageEqualityComparer.IdAndVersion)) { yield return package; } } }
IEnumerable<IPackage> GetRecentPackages (PackageSearchCriteria search) { if (search.IsPackageVersionSearch) { return Enumerable.Empty<IPackage> (); } return recentPackageRepository.Search (search.SearchText, IncludePrerelease); }
/// <summary> /// Order packages by most downloaded first. /// </summary> protected override IQueryable<IPackage> OrderPackages (IQueryable<IPackage> packages, PackageSearchCriteria search) { if (search.IsPackageVersionSearch) { return packages.OrderByDescending (package => package.Version); } if (search.SearchText != null) { // Order by relevance for searches. return packages; } return packages.OrderByDescending(package => package.DownloadCount); }
IEnumerable<IPackage> GetPrioritizedPackages(PackageSearchCriteria search) { if (search.IsPackageVersionSearch) { yield break; } }
/// <summary> /// Order packages by most downloaded first. /// </summary> protected override IQueryable <IPackage> OrderPackages(IQueryable <IPackage> packages, PackageSearchCriteria search) { if (search.IsPackageVersionSearch) { return(packages.OrderByDescending(package => package.Version)); } if (search.SearchText != null) { // Order by relevance for searches. return(packages); } return(packages.OrderByDescending(package => package.DownloadCount)); }
protected override IEnumerable <IPackage> GetFilteredPackagesBeforePagingResults(IQueryable <IPackage> allPackages, PackageSearchCriteria search) { if (search.IsPackageVersionSearch) { return(base.GetFilteredPackagesBeforePagingResults(allPackages, search) .Where(package => search.IsVersionMatch(package.Version))); } if (IncludePrerelease) { return(base.GetFilteredPackagesBeforePagingResults(allPackages, search) .DistinctLast <IPackage>(PackageEqualityComparer.Id)); } return(base.GetFilteredPackagesBeforePagingResults(allPackages, search) .Where(package => package.IsReleaseVersion()) .DistinctLast <IPackage>(PackageEqualityComparer.Id)); }
IEnumerable<IPackage> GetRecentPackages (PackageSearchCriteria search) { return recentPackageRepository.Search (search.SearchText, IncludePrerelease); }
/// <summary> /// Returns packages filtered by search criteria. /// </summary> protected virtual IQueryable <IPackage> GetPackages(PackageSearchCriteria search) { return(null); }
IEnumerable<IPackage> GetSolutionPackages (PackageSearchCriteria search) { try { return solutionPackageRepository .GetPackages () .Find (search.SearchText) .FilterByPrerelease (IncludePrerelease) .ToList (); } catch (Exception ex) { LoggingService.LogError ("Unable to get solution packages so these will not be shown.", ex); return Enumerable.Empty<IPackage> (); } }
/// <summary> /// Allows filtering of the packages before paging the results. Call base class method /// to run default filtering. /// </summary> protected virtual IEnumerable <IPackage> GetFilteredPackagesBeforePagingResults(IQueryable <IPackage> allPackages, PackageSearchCriteria search) { IEnumerable <IPackage> bufferedPackages = GetBufferedPackages(allPackages); return(bufferedPackages); }
protected virtual IEnumerable <IPackage> PrioritizePackages(IEnumerable <IPackage> packages, PackageSearchCriteria searchCriteria) { return(packages); }
IEnumerable <IPackage> GetRecentPackages(PackageSearchCriteria search) { return(recentPackageRepository.Search(search.SearchText, IncludePrerelease)); }
protected override IQueryable<IPackage> GetPackages (PackageSearchCriteria search) { GetAllPackagesCallCount++; SearchCriteriaPassedToFilterPackagesBySearchCriteria = search; return FakePackages.AsQueryable ().Find (search.SearchText); }
IQueryable <IPackage> GetPackagesFromPackageSource(PackageSearchCriteria search) { IQueryable <IPackage> packages = GetPackages(search); return(OrderPackages(packages, search)); }
protected virtual IQueryable <IPackage> OrderPackages(IQueryable <IPackage> packages, PackageSearchCriteria search) { return(packages .OrderBy(package => package.Id)); }
IEnumerable<IPackage> GetSolutionPackages (PackageSearchCriteria search) { return solutionPackageRepository .GetPackages () .Find (search.SearchText) .FilterByPrerelease (IncludePrerelease); }