public PagingSpec <Album> AlbumsWhereCutoffUnmet(PagingSpec <Album> pagingSpec) { var qualitiesBelowCutoff = new List <QualitiesBelowCutoff>(); var profiles = _profileService.All(); //Get all items less than the cutoff foreach (var profile in profiles) { var cutoffIndex = profile.GetIndex(profile.Cutoff); var belowCutoff = profile.Items.Take(cutoffIndex.Index).ToList(); if (belowCutoff.Any()) { qualitiesBelowCutoff.Add(new QualitiesBelowCutoff(profile.Id, belowCutoff.SelectMany(i => i.GetQualities().Select(q => q.Id)))); } } return(_albumRepository.AlbumsWhereCutoffUnmet(pagingSpec, qualitiesBelowCutoff)); }