コード例 #1
0
        private IEnumerable <Guid> GetExcludeMemberIds(IEmployer employer, MemberSearchQuery query, IEnumerable <Guid> memberIds)
        {
            if (query.InFolder != null && !query.InFolder.Value)
            {
                memberIds = GetExcludeList(memberIds, _candidateFoldersQuery.GetInFolderCandidateIds(employer));
            }

            if (query.IsFlagged != null && !query.IsFlagged.Value)
            {
                memberIds = GetExcludeList(memberIds, _candidateFlagListsQuery.GetFlaggedCandidateIds(employer));
            }

            if (query.HasNotes != null && !query.HasNotes.Value)
            {
                memberIds = GetExcludeList(memberIds, _candidateNotesQuery.GetHasNotesCandidateIds(employer));
            }

            if (query.HasViewed != null && !query.HasViewed.Value)
            {
                memberIds = GetExcludeList(memberIds, _employerMemberViewsQuery.GetViewedMemberIds(employer));
            }

            if (query.IsUnlocked != null && !query.IsUnlocked.Value)
            {
                // Must have active allocations or else no-one is unlocked.

                var allocation = GetContactCreditsAllocation(employer);
                if (!allocation.HasExpired)
                {
                    memberIds = GetExcludeList(memberIds, _employerMemberViewsQuery.GetAccessedMemberIds(employer));
                }
            }

            return(memberIds);
        }
コード例 #2
0
        IList <Guid> IMemberActivityFiltersQuery.GetExcludeMemberIds(IEmployer employer, MemberSearchQuery query)
        {
            // Exclude filters.

            var memberIds = GetExcludeMemberIds(employer, query, null);

            // Exclude all blocked candidates.

            var candidateIds = _candidateBlockListsQuery.GetBlockedCandidateIds(employer);

            if (candidateIds.Count > 0)
            {
                memberIds = GetExcludeList(memberIds, candidateIds);
            }

            return(memberIds == null ? null : memberIds.ToList());
        }
コード例 #3
0
        IList <Guid> IMemberActivityFiltersQuery.GetManagedIncludeMemberIds(IEmployer employer, Guid jobAdId, ApplicantStatus status, MemberSearchQuery query)
        {
            // Include those that are applicants for the job.

            var memberIds = _jobAdApplicantsQuery.GetApplicantIds(jobAdId, status);

            // Include filters.

            return(GetIncludeMemberIds(employer, query, memberIds));
        }
コード例 #4
0
 IList <Guid> IMemberActivityFiltersQuery.GetSuggestedIncludeMemberIds(IEmployer employer, Guid jobAdId, MemberSearchQuery query)
 {
     return(GetIncludeMemberIds(employer, query, null));
 }
コード例 #5
0
        public IList <Guid> GetBlockListIncludeMemberIds(IEmployer employer, Guid blockListId, MemberSearchQuery query)
        {
            // Include those who are blocked.

            var memberIds = _candidateBlockListsQuery.GetBlockedCandidateIds(employer, blockListId);

            // Include filters.

            return(GetIncludeMemberIds(employer, query, memberIds));
        }
コード例 #6
0
        IList <Guid> IMemberActivityFiltersQuery.GetFlaggedIncludeMemberIds(IEmployer employer, MemberSearchQuery query)
        {
            // Include those who are flagged.

            var memberIds = _candidateFlagListsQuery.GetFlaggedCandidateIds(employer);

            // Include filters.

            return(GetIncludeMemberIds(employer, query, memberIds));
        }
コード例 #7
0
        IList <Guid> IMemberActivityFiltersQuery.GetFolderIncludeMemberIds(IEmployer employer, Guid folderId, MemberSearchQuery query)
        {
            // Include those in the folder.

            var memberIds = _candidateFoldersQuery.GetInFolderCandidateIds(employer, folderId);

            // Include filters.

            return(GetIncludeMemberIds(employer, query, memberIds));
        }
コード例 #8
0
        IList <Guid> IMemberActivityFiltersQuery.GetSuggestedExcludeMemberIds(IEmployer employer, Guid jobAdId, MemberSearchQuery query)
        {
            // Exclude filters.

            var memberIds = GetExcludeMemberIds(employer, query, null);

            // Exclude job ad specific members.

            if (employer != null)
            {
                memberIds = GetExcludeList(memberIds, _jobAdApplicantsQuery.GetApplicantIds(jobAdId));
            }

            // Exclude all blocked candidates.

            var candidateIds = _candidateBlockListsQuery.GetBlockedCandidateIds(employer);

            if (candidateIds.Count > 0)
            {
                memberIds = GetExcludeList(memberIds, candidateIds);
            }

            return(memberIds == null ? null : memberIds.ToList());
        }
コード例 #9
0
        public IList <Guid> GetBlockListExcludeMemberIds(IEmployer employer, Guid blockListId, MemberSearchQuery query)
        {
            // Exclude filters.

            var memberIds = GetExcludeMemberIds(employer, query, null);

            return(memberIds == null ? null : memberIds.ToList());
        }