public Task UpdateVacancyApplicationsAsync(VacancyApplications vacancyApplications) { vacancyApplications.Id = QueryViewType.VacancyApplications.GetIdValue(vacancyApplications.VacancyReference.ToString()); vacancyApplications.LastUpdated = _timeProvider.Now; return(_queryStore.UpsertAsync(vacancyApplications)); }
public async Task <bool> AcceptWorker(int vacancyApplicationId) { VacancyApplications vacancy = await _vacanciesApplications.GetAll() .Include(va => va.Vacancy) .FirstOrDefaultAsync(va => va.Id == vacancyApplicationId); return(await _businessService.AcceptWorker(vacancy)); }
public async Task <bool> RespondVacancy(int vacancyId, ClaimsPrincipal claims) { User user = await _userManager.FindByEmailFromClaimsPrincipals(claims); VacancyApplications vacancyApplications = new VacancyApplications { VacancyId = vacancyId, VacancyStatus = VacancyStatus.Pending, ApplicantId = user.Id }; return(await _businessService.RespondVacancy(vacancyApplications)); }
private async Task Handle(IApplicationReviewEvent notification) { _logger.LogInformation("Handling {notificationType} for vacancyReference: {vacancyReference}", notification.GetType().Name, notification?.VacancyReference); var vacancy = await _vacancyRepository.GetVacancyAsync(notification.VacancyReference); var vacancyApplicationReviews = await _applicationReviewQuery.GetForVacancyAsync <ApplicationReview>(vacancy.VacancyReference.Value); var vacancyApplications = new VacancyApplications { VacancyReference = vacancy.VacancyReference.Value, Applications = vacancyApplicationReviews.Select(MapToVacancyApplication).ToList() }; await _writer.UpdateVacancyApplicationsAsync(vacancyApplications); }
public async Task UpdateVacancyApplicationsAsync(long vacancyReference) { _logger.LogInformation("Updating vacancyApplications projection for vacancyReference: {vacancyReference}", vacancyReference); var vacancy = await _vacancyRepository.GetVacancyAsync(vacancyReference); var vacancyApplicationReviews = await _applicationReviewQuery.GetForVacancyAsync <ApplicationReview>(vacancy.VacancyReference.Value); var vacancyApplications = new VacancyApplications { VacancyReference = vacancy.VacancyReference.Value, Applications = vacancyApplicationReviews.Select(MapToVacancyApplication).ToList() }; await _writer.UpdateVacancyApplicationsAsync(vacancyApplications); }
public async Task <bool> AcceptWorker(VacancyApplications vacancy) { BusinessWorker worker = new BusinessWorker { PositionAtWork = vacancy.Vacancy.Title, WorkerId = vacancy.ApplicantId, StartWork = DateTime.Now, Salary = vacancy.Vacancy.Salary, BusinessId = vacancy.Vacancy.BusinessId }; _unitOfWork.Repository <VacancyApplications>().Delete(vacancy); _unitOfWork.Repository <BusinessWorker>().Add(worker); return(await _unitOfWork.Complete()); }
public async Task <bool> RespondVacancy(VacancyApplications vacancyApplication) { List <VacancyApplications> vacancyApplications = await _unitOfWork.Repository <VacancyApplications>() .GetAll() .Where(va => va.ApplicantId == va.ApplicantId) .ToListAsync(); if (vacancyApplications.FirstOrDefault(va => va.ApplicantId == vacancyApplication.ApplicantId && va.VacancyId == vacancyApplication.VacancyId) != null) { return(false); } _unitOfWork.Repository <VacancyApplications>().Add(vacancyApplication); return(await _unitOfWork.Complete()); }
private List <VacancyApplication> FilterApplicants(string applicantApplicationOutcomeFilter, VacancyApplications vacancyApplications) { var applicants = vacancyApplications.Applications; if (string.IsNullOrEmpty(applicantApplicationOutcomeFilter) == false) { applicants = applicants .Where(app => app.Status.ToString().Equals(applicantApplicationOutcomeFilter, StringComparison.InvariantCultureIgnoreCase)) .ToList(); } return(applicants); }
public async Task <bool> RejectVacancyRespond(VacancyApplications application) { _unitOfWork.Repository <VacancyApplications>().Delete(application); return(await _unitOfWork.Complete()); }
public async Task <bool> RejectVacancyRespond(int id) { VacancyApplications vacancy = await _vacanciesApplications.GetByIdAsync(id); return(await _businessService.RejectVacancyRespond(vacancy)); }