public ActionResult UndoRejectCandidates(Guid jobAdId, Guid[] candidateIds, ApplicantStatus previousStatus) { try { // Look for the jobAd. var employer = CurrentEmployer; var jobAd = _jobAdsQuery.GetJobAd <JobAdEntry>(jobAdId); if (jobAd == null) { return(JsonNotFound("job ad")); } // Remove candidates. var statuses = _jobAdApplicantsCommand.UndoRejectApplicants(employer, jobAd, candidateIds, previousStatus); return(BuildModelFromStatus(jobAd, statuses)); } catch (UserException ex) { ModelState.AddModelError(ex, new StandardErrorHandler()); } return(Json(new JsonResponseModel())); }
private void AssertStatus(Guid applicationId, bool isPending, ApplicantStatus status) { var application = _memberApplicationsQuery.GetInternalApplication(applicationId); Assert.AreEqual(isPending, application.IsPending); Assert.AreEqual(status, _jobAdApplicantsQuery.GetApplicantStatus(application.Id)); }
public static bool IsHiringManagerInterviewDisabled(ApplicantStatus applicantStatus) { return(applicantStatus == ApplicantStatus.ScreeningRejected || applicantStatus == ApplicantStatus.PhoneInterviewRejected || applicantStatus == ApplicantStatus.HRRejected || applicantStatus == ApplicantStatus.TechRejected); }
public ManageCandidatesNavigation(Guid jobAdId, JobAdStatus jobAdStatus, ApplicantStatus applicantStatus, CandidatesPresentationModel presentation) : base(presentation) { JobAdId = jobAdId; JobAdStatus = jobAdStatus; ApplicantStatus = applicantStatus; }
protected string GetCandidatesLink(ApplicantStatus status, JobAd ad) { var counts = GetCountsForJobAd(LoggedInEmployer, ad); return(counts[status] == 0 ? status.ToString() : string.Format("<a href=\"{0}\">{1}</a>", GetCandidatesUrl(LoggedInEmployer, ad, status), status)); }
private static string GetApplicantsText(Guid?jobAdId, int applicants, ApplicantStatus status) { if (applicants == 0) { return(status.ToString()); } var url = new ApplicationUrl("~/employers/candidates/manage/" + jobAdId, new ReadOnlyQueryString("status", status.ToString())); return("<a href=\"" + url.PathAndQuery + "\">" + status + "</a>"); }
public ActionResult Partial(ApplicantStatus status, MemberSearchSortCriteria sortOrder, CandidatesPresentationModel presentation) { var navigation = (ManageCandidatesNavigation)EmployerContext.CurrentCandidates; var model = JobAdResults(navigation.JobAdId, status, sortOrder, presentation); if (model == null) { return(NotFound("job ad", "id", navigation.JobAdId)); } return(PartialView("CandidateList", model)); }
private ReadOnlyUrl GetManageCandidatesUrl(Guid jobAdId, ApplicantStatus status, int?page, int?items) { var queryString = new QueryString(); queryString["status"] = status.ToString(); if (page != null) { queryString.Add("page", page.Value.ToString(CultureInfo.InvariantCulture)); } if (items != null) { queryString.Add("items", items.Value.ToString(CultureInfo.InvariantCulture)); } return(new ReadOnlyApplicationUrl(_baseManageCandidatesUrl, jobAdId.ToString(), queryString)); }
public static string GetCandidateStatusChangeMessage(ProfessionalView view, ApplicantStatus newStatus) { string verb; switch (newStatus) { case ApplicantStatus.Rejected: verb = "rejected"; break; case ApplicantStatus.Shortlisted: verb = "shortlisted"; break; default: throw new ArgumentException("Unexpected value of newStatus: " + newStatus); } return("\"" + HtmlUtil.TextToHtml(view.GetFullNameDisplayText()) + "\" has been " + verb + "."); }
private ReadOnlyUrl GetCandidatesUrl(Employer employer, JobAd ad, ApplicantStatus status) { return(HaveCandidates(employer, ad) ? GetApplicantsUrl(ad, status) : new ReadOnlyUrl(GetSuggestionsUrl(ad).ToString())); }
private static int GetApplicationStatusCount(this IJobAd jobAd, IEnumerable <ApplicantList> applicantLists, IDictionary <Guid, IDictionary <ApplicantStatus, int> > counts, ApplicantStatus status) { var applicantList = (from a in applicantLists where a.Id == jobAd.Id select a).SingleOrDefault(); return(applicantList.GetApplicationStatusCount(counts, status)); }
IList <Guid> IMemberActivityFiltersQuery.GetManagedExcludeMemberIds(IEmployer employer, Guid jobAdId, ApplicantStatus status, 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()); }
public static bool IsTechnicalInterviewDisabled(ApplicantStatus applicantStatus) { return(applicantStatus == ApplicantStatus.ScreeningRejected || applicantStatus == ApplicantStatus.PhoneInterviewRejected || applicantStatus == ApplicantStatus.HRRejected); }
public void EditApplicantStatus(Applicant applicant, ApplicantStatus applicantStatus) { applicant.Status = applicantStatus; _db.SaveChanges(); }
void IContenderListsCommand.ChangeStatus(Guid listId, IEnumerable <Guid> applicantIds, ApplicantStatus status) { _repository.ChangeStatus(listId, applicantIds, status); }
void IContenderListsCommand.ChangeStatus(Guid listId, Guid applicantId, ApplicantStatus status) { _repository.ChangeStatus(listId, applicantId, status); }
void IContenderListsCommand.CreateEntries(Guid listId, IEnumerable <Guid> contenderIds, ApplicantStatus status) { _repository.CreateEntries(listId, DateTime.Now, contenderIds, status); }
IList <Guid> IJobAdApplicantsQuery.GetApplicantIds(Guid jobAdId, ApplicantStatus status) { return(_contenderListsQuery.GetListedContenderIds(jobAdId, NotIfInListTypes, status)); }
protected void AssertCandidates(JobAd jobAd, Member[] expectedMembers, ApplicantStatus expectedStatus) { AssertCandidates(expectedMembers, _jobAdApplicantsQuery.GetApplicantIds(jobAd.Id, expectedStatus)); }
private static int GetApplicationStatusCount(this IHasId <Guid> applicantList, IDictionary <Guid, IDictionary <ApplicantStatus, int> > counts, ApplicantStatus status) { if (applicantList == null || !counts.ContainsKey(applicantList.Id)) { return(0); } return(counts[applicantList.Id][status]); }
private static ReadOnlyUrl GetApplicantsUrl(IJobAd ad, ApplicantStatus status) { return(JobAdsRoutes.ManageJobAdCandidates.GenerateUrl(new { jobAdId = ad.Id, status })); }
MemberSearchExecution IExecuteMemberSearchCommand.SearchManaged(IEmployer employer, Guid jobAdId, ApplicantStatus status, MemberSearchSortCriteria sortCriteria, Range range) { var criteria = new MemberSearchCriteria { SortCriteria = sortCriteria ?? new MemberSearchSortCriteria { SortOrder = ManagedCandidatesDefaultSortOrder }, HasResume = null, IsActivated = null, IsContactable = null, CandidateStatusFlags = CandidateStatusFlags.All, }; return(Search(employer, criteria, range, (s, e, o, q) => s.SearchManaged(e, o, jobAdId, status, q))); }
private JsonJobAdModel UndoRejectCandidates(Guid jobAdId, ApplicantStatus previousStatus, params Member[] members) { return(CallApi("undorejectcandidates", jobAdId, members, previousStatus)); }
public static bool IsPhoneInterviewDisabled(ApplicantStatus applicantStatus) { return(applicantStatus == ApplicantStatus.ScreeningRejected); }
IDictionary <ApplicantStatus, int> IJobAdApplicantsCommand.UndoRejectApplicants(IEmployer employer, JobAdEntry jobAd, IEnumerable <Guid> applicantIds, ApplicantStatus statusToReturnTo) { // Ensure the list exists. var list = EnsureList(jobAd); if (!CanAccessList(employer, list)) { throw new AddApplicantPermissionsException(employer, list.Id); } var entries = _contenderListsQuery.GetEntries <ApplicantListEntry>(list.Id, null, applicantIds); // Move the list entries back to the specified status (s/be new or shortlisted). var applicantsToUpdate = from e in entries where e.ApplicantStatus == ApplicantStatus.Rejected select e.ApplicantId; _contenderListsCommand.ChangeStatus(list.Id, applicantsToUpdate, statusToReturnTo); return(_jobAdApplicantsQuery.GetApplicantCounts(employer, list)); }
private ManageCandidatesListModel Search(IEmployer employer, Guid jobAdId, ApplicantStatus status, MemberSearchSortCriteria sortCriteria, CandidatesPresentationModel presentation) { return(Search <ManageCandidatesListModel>(employer, presentation, (e, r) => _executeMemberSearchCommand.SearchManaged(e, jobAdId, status, sortCriteria, r))); }
IList <Guid> IMemberActivityFiltersQuery.GetManagedExcludeMemberIds(IEmployer employer, Guid jobAdId, ApplicantStatus status, MemberSearchQuery query) { throw new NotImplementedException(); }
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)); }
public async Task<ActionResult> JobSeekerMyJob(ApplicantStatus applicantStatus) { GetCurrentUser(); ViewData["ApplicantStatus"] = applicantStatus; return View(); }
MemberSearchResults IMemberSearchService.SearchManaged(Guid?employerId, Guid?organisationId, Guid jobAdId, ApplicantStatus status, MemberSearchQuery query) { return(Search( employerId, organisationId, query, (e, q) => _memberActivityFiltersQuery.GetManagedIncludeMemberIds(e, jobAdId, status, q), (e, q) => _memberActivityFiltersQuery.GetManagedExcludeMemberIds(e, jobAdId, status, q))); }
IList <Guid> IContenderListsQuery.GetListedContenderIds(Guid listId, IEnumerable <int> notIfAlsoInListTypes, ApplicantStatus status) { return(_repository.GetListedContenderIds(listId, notIfAlsoInListTypes, status)); }