Example #1
0
        // 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));
        }
Example #2
0
        // 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());
            }
        }