protected JobAdSearchResults SortFlagged(IMember member, JobAdSortQuery jobAdQuery) { var reader = _indexWriter.getReader(); var sorter = new Sorter(reader); var filter = _indexer.GetFilter( _jobAdSortFiltersQuery.GetFlaggedIncludeJobAdIds(member), _jobAdSortFiltersQuery.GetFlaggedExcludeJobAdIds(member)); var sort = _indexer.GetSort(member, jobAdQuery); var searchResults = sorter.Sort(filter, sort == null ? null : sort.getSort(), jobAdQuery.Skip, jobAdQuery.Take ?? reader.maxDoc()); return(searchResults); }
private ICollection <Guid> FlaggedFilter(IMember member, IEnumerable <Guid> allJobAdIds) { var includeJobAdIds = _jobAdSortFiltersQuery.GetFlaggedIncludeJobAdIds(member); var jobAdIds = includeJobAdIds != null ? allJobAdIds.Intersect(includeJobAdIds) : allJobAdIds; var excludeJobAdIds = _jobAdSortFiltersQuery.GetFlaggedExcludeJobAdIds(member); jobAdIds = excludeJobAdIds != null ? jobAdIds.Except(excludeJobAdIds) : jobAdIds; return(jobAdIds.ToArray()); }
JobAdSearchResults IJobAdSortService.SortFlagged(Guid?memberId, JobAdSortQuery query) { return(Sort(memberId, query, m => _jobAdSortFiltersQuery.GetFlaggedIncludeJobAdIds(m), m => _jobAdSortFiltersQuery.GetFlaggedExcludeJobAdIds(m))); }