Exemplo n.º 1
0
        protected JobAdSearchResults SortFolder(IMember member, Guid folderId, JobAdSortQuery query)
        {
            var reader = _indexWriter.getReader();
            var sorter = new Sorter(reader);
            var filter = _indexer.GetFilter(
                _jobAdSortFiltersQuery.GetFolderIncludeJobAdIds(member, folderId),
                _jobAdSortFiltersQuery.GetFolderExcludeJobAdIds(member, folderId));
            var sort          = _indexer.GetSort(member, query);
            var searchResults = sorter.Sort(filter, sort == null ? null : sort.getSort(), query.Skip, query.Take ?? reader.maxDoc());

            return(searchResults);
        }
Exemplo n.º 2
0
        private ICollection <Guid> FolderFilter(IMember member, Guid folderId, IEnumerable <Guid> allJobAdIds)
        {
            var includeJobAdIds = _jobAdSortFiltersQuery.GetFolderIncludeJobAdIds(member, folderId);
            var jobAdIds        = includeJobAdIds != null
                                ? allJobAdIds.Intersect(includeJobAdIds)
                                : allJobAdIds;

            var excludeJobAdIds = _jobAdSortFiltersQuery.GetFolderExcludeJobAdIds(member, folderId);

            jobAdIds = excludeJobAdIds != null
                            ? jobAdIds.Except(excludeJobAdIds)
                            : jobAdIds;

            return(jobAdIds.ToArray());
        }
Exemplo n.º 3
0
 JobAdSearchResults IJobAdSortService.SortFolder(Guid?memberId, Guid folderId, JobAdSortQuery query)
 {
     return(Sort(memberId, query, m => _jobAdSortFiltersQuery.GetFolderIncludeJobAdIds(m, folderId), m => _jobAdSortFiltersQuery.GetFolderExcludeJobAdIds(m, folderId)));
 }