// GET: Applicant/Edit/5 public async Task <IActionResult> Edit(int id) { var user = await GetCurrentUserAsync(); var viewModel = new ApplicantPersonalInfoViewModel(); var applicant = await _context.Applicant.FirstOrDefaultAsync(a => a.Id == user.ApplicantId); if (applicant == null) { return(NotFound()); } var locationOptions = await _context.Location.Select(l => new SelectListItem() { Text = l.Name, Value = l.Id.ToString() }).ToListAsync(); viewModel.LocationOptions = locationOptions; viewModel.Id = applicant.Id; viewModel.Applicant = applicant; viewModel.ApplicationUser = user; if (viewModel == null) { return(NotFound()); } return(View(viewModel)); }
public async Task <IActionResult> Edit(int id, ApplicantPersonalInfoViewModel viewModel) { try { var user = await _context.ApplicationUsers .Include(a => a.Applicant) .FirstOrDefaultAsync(a => a.Id == viewModel.ApplicationUser.Id); user.FirstName = viewModel.ApplicationUser.FirstName; user.LastName = viewModel.ApplicationUser.LastName; user.LocationId = viewModel.ApplicationUser.LocationId; user.Applicant.Email = viewModel.Applicant.Email; user.Applicant.SocialLink = viewModel.Applicant.SocialLink; user.Applicant.Education = viewModel.Applicant.Education; user.Applicant.Experience = viewModel.Applicant.Experience; user.Applicant.SkillsAndCertifications = viewModel.Applicant.SkillsAndCertifications; var uploadPath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot\\images"); if (viewModel.ImageFile != null) { var fileName = Guid.NewGuid().ToString() + viewModel.ImageFile.FileName; user.Applicant.ImagePath = fileName; using (var fileStream = new FileStream(Path.Combine(uploadPath, fileName), FileMode.Create)) { await viewModel.ImageFile.CopyToAsync(fileStream); } } //else if (viewModel.ImageFile != null) //{ // user.Applicant.ImagePath = viewModel.ImageFile.ToString(); //} if (viewModel.ResumeFile != null) { var fileName = Guid.NewGuid().ToString() + viewModel.ResumeFile.FileName; user.Applicant.ResumePath = fileName; using (var fileStream = new FileStream(Path.Combine(uploadPath, fileName), FileMode.Create)) { await viewModel.ResumeFile.CopyToAsync(fileStream); } } //else if (viewModel.ResumeFile != null) //{ // user.Applicant.ResumePath = viewModel.ResumeFile.ToString(); //} _context.ApplicationUsers.Update(user); await _context.SaveChangesAsync(); } catch (Exception ex) { return(View()); } return(RedirectToAction("Index", "Applicant")); }