public JobSeekerJobDetailsViewModel GetDetailedJob(string jobId) { var advert = jobAdvertRepository.Get(jobId); var recruiter = recruiterRepository.Get(advert.RecruiterId); var company = _companyService.Get(advert.CompanyId); //Check if the applicant has already applied for the job and disable an application button on the UI JobSeekerJobDetailsViewModel jobSeekerJobDetailsViewModel = new JobSeekerJobDetailsViewModel { Qualifications = _stringManipulator.BreakDownText(advert.Qualifications), Duties = _stringManipulator.BreakDownText(advert.Duties), Introduction = advert.Introduction, Caption = advert.Caption, Experience = _stringManipulator.BreakDownText(advert.Experience), SalaryFrom = advert.SalaryFrom, SalaryTo = advert.SalaryTo, CreatedDate = advert.CreatedDate, JobAdvertId = advert.Id, City = _cityService.Get(advert.CityId).Name, Company = company.CompanyName, Recruiter = recruiter.FirstName + " " + recruiter.LastName, ExperienceLevel = _experienceLevelService.Get(advert.ExperienceLevelId).Description, JobType = _jobTypeService.Get(advert.JobTypeId).Description, RecruiterEmail = userRepository.FindByCondition(u => u.UserId.Equals(recruiter.Id)).FirstOrDefault().Email, RecruiterPhone = recruiter.Phone, RecruiterId = recruiter.Id, CompanyId = company.Id, IsAlreadyAppliedBySeeker = false }; return(jobSeekerJobDetailsViewModel); }
public IActionResult ApplyForJob(JobSeekerJobDetailsViewModel jobSeekerJobDetailsViewModel) { _jobAdvertService.ApplyJob( jobSeekerJobDetailsViewModel.JobAdvertId, jobSeekerJobDetailsViewModel.RecruiterId, jobSeekerJobDetailsViewModel.CompanyId, HttpContext.Session.Get <string>("JobSeekerId") ); TempData["Apply"] = "Job Applied"; var jobDetails = _jobAdvertService.GetDetailedJob(jobSeekerJobDetailsViewModel.JobAdvertId); if (_jobAdvertService.IsAlreadyApplied(jobDetails.JobAdvertId, HttpContext.Session.Get <string>("JobSeekerId"))) { jobDetails.IsAlreadyAppliedBySeeker = true; } return(View("JobSeekerJobAdvertDetails", jobDetails)); }