private IList <Guid> GetIncludeJobAdIds(IMember member, JobAdSearchQuery query, IEnumerable <Guid> jobAdIds) { // These filters only apply for logged in users. if (member != null) { // Include filters. if (query.IsFlagged != null && query.IsFlagged.Value) { jobAdIds = GetIncludeList(jobAdIds, _jobAdFlagListsQuery.GetFlaggedJobAdIds(member)); } if (query.HasNotes != null && query.HasNotes.Value) { jobAdIds = GetIncludeList(jobAdIds, _memberJobAdNotesQuery.GetHasNotesJobAdIds(member)); } if (query.HasViewed != null && query.HasViewed.Value) { jobAdIds = GetIncludeList(jobAdIds, _jobAdViewsQuery.GetViewedJobAdIds(member.Id)); } if (query.HasApplied != null && query.HasApplied.Value) { jobAdIds = GetIncludeList(jobAdIds, _jobAdApplicationSubmissionsQuery.GetSubmittedApplicationJobAdIds(member.Id)); } } return(jobAdIds == null ? null : jobAdIds.ToList()); }
private IEnumerable <Guid> GetExcludeJobAdIds(IMember member, JobAdSearchQuery query, IEnumerable <Guid> jobAdIds) { // Exclude filters. if (member != null) { if (query.IsFlagged != null && !query.IsFlagged.Value) { jobAdIds = GetExcludeList(jobAdIds, _jobAdFlagListsQuery.GetFlaggedJobAdIds(member)); } if (query.HasNotes != null && !query.HasNotes.Value) { jobAdIds = GetExcludeList(jobAdIds, _memberJobAdNotesQuery.GetHasNotesJobAdIds(member)); } if (query.HasViewed != null && !query.HasViewed.Value) { jobAdIds = GetExcludeList(jobAdIds, _jobAdViewsQuery.GetViewedJobAdIds(member.Id)); } if (query.HasApplied != null && !query.HasApplied.Value) { jobAdIds = GetExcludeList(jobAdIds, _jobAdApplicationSubmissionsQuery.GetSubmittedApplicationJobAdIds(member.Id)); } } return(jobAdIds); }
IList <Guid> IJobAdActivityFiltersQuery.GetExcludeJobAdIds(IMember member, JobAdSearchQuery query) { // Exclude filters. var jobAdIds = GetExcludeJobAdIds(member, query, null); // Exclude all blocked job ads. jobAdIds = GetExcludeList(jobAdIds, _jobAdBlockListsQuery.GetBlockedJobAdIds(member)); return(jobAdIds == null ? null : jobAdIds.ToList()); }
IList <Guid> IJobAdActivityFiltersQuery.GetFlaggedIncludeJobAdIds(IMember member, JobAdSearchQuery query) { // Include those that are flagged. var jobAdIds = GetIncludeList(null, _jobAdFlagListsQuery.GetFlaggedJobAdIds(member)); // Include filters. return(GetIncludeJobAdIds(member, query, jobAdIds)); }
IList <Guid> IJobAdActivityFiltersQuery.GetIncludeJobAdIds(IMember member, JobAdSearchQuery query) { return(GetIncludeJobAdIds(member, query, null)); }