// GET: Applicant/Details/5 public async Task <ActionResult> Details(int id, int JobId) { var viewModel = new ApplicantJobViewModel(); var user = await GetCurrentUserAsync(); var applicant = await _context.Applicant .Include(a => a.ApplicationUser) .ThenInclude(l => l.Location) .FirstOrDefaultAsync(a => a.Id == id); var applicantJob = await _context.ApplicantJob .Include(j => j.Job) .FirstOrDefaultAsync(a => a.ApplicantId == applicant.Id && a.JobId == JobId); var applicantJobs = await _context.ApplicantJob .Where(j => j.JobId == JobId) .ToListAsync(); viewModel.Applicant = applicant; viewModel.ApplicantJob = applicantJob; viewModel.ApplicantJobs = applicantJobs; viewModel.ApplicantJobId = applicantJob.Id; return(View(viewModel)); }
// GET: Applicant public async Task <IActionResult> Index() { var viewModel = new ApplicantJobViewModel(); var user = await GetCurrentUserAsync(); var jobs = await _context.Job .Include(c => c.Company) .ThenInclude(l => l.Location) .Include(aj => aj.ApplicantJobs) .ToListAsync(); var applicantJobs = await _context.ApplicantJob .Include(j => j.Job) .Where(a => a.Applicant.ApplicationUser.Id == user.Id) .ToListAsync(); var applicant = await _context.Applicant .Include(a => a.ApplicationUser) .ThenInclude(l => l.Location) .FirstOrDefaultAsync(a => a.Id == user.ApplicantId); viewModel.ApplicantJobs = applicantJobs; viewModel.Jobs = jobs; viewModel.ApplicationUser = user; viewModel.Applicant = applicant; return(View(viewModel)); }
public async Task <ActionResult> Decline(ApplicantJobViewModel applicantJobView, bool IsAccepted, bool IsDeclined) { try { var user = await GetCurrentUserAsync(); var userApplicant = await _context.ApplicantJob .FirstOrDefaultAsync(j => j.Id == applicantJobView.ApplicantJobId); userApplicant.IsAccepted = applicantJobView.ApplicantJob.IsAccepted; userApplicant.IsDeclined = applicantJobView.ApplicantJob.IsDeclined; _context.ApplicantJob.Update(userApplicant); await _context.SaveChangesAsync(); return(RedirectToAction("Details", "Job", new { id = userApplicant.JobId })); } catch { return(View()); } }