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