public IActionResult AddCandidate(CandidateAddEditViewModel model) { if (ModelState.IsValid) { try { var cand = candidateRepository.GetAll().Where(x => x.Email == model.Email).FirstOrDefault(); if (cand != null) { if (cand.Email == model.Email) { ModelState.AddModelError("", "Candidate with provided email address is already exists"); } if (cand.Mobile == model.Mobile) { ModelState.AddModelError("", "Candidate with provided mobile number is already exists"); } return(View(model)); } Candidate candidate = new Candidate { Name = model.Name, Email = model.Email, DateOfBirth = model.DateOfBirth, Mobile = model.Mobile, CurrentCompany = model.CurrentCompany, // ExperienceId = model.ExperienceId, ExperienceYear = model.ExperienceYear, ExperienceMonth = model.ExperienceMonth, CreatedBy = 1, CreatedOn = DateTime.Now, IsActive = true, LastUpdatedBy = 1, LastUpdatedOn = DateTime.Now, PositionId = model.PositionId, CandidateStatus = 1 }; candidateRepository.Insert(candidate); } catch (Exception ex) { logger.LogError($"Error while adding candidate: {ex.StackTrace}"); ViewBag.ErrorTitle = $"Error adding candidate"; ViewBag.ErrorMessage = $"Error while adding new candidate named : {model.Name}"; return(View("Error")); } if (signInManager.IsSignedIn(User) && User.IsInRole("Admin")) { return(RedirectToAction("Index", "Candidate")); } TempData["Success"] = "Registration Successful!"; return(View("SubmitCandidateDetails")); } return(View(model)); }
public ViewResult AddCandidate() { CandidateAddEditViewModel model = new CandidateAddEditViewModel(); try { var expList = expRepository.GetAll(); var posList = posRepository.GetAll(); //model.ExperienceList = expList.Select(r => new SelectListItem //{ // Text = r.ExperienceDescription, // Value = r.ExperienceId.ToString() //}).ToList(); model.ExperienceYearList = StaticData.Year.Select(year => new SelectListItem { Text = year.ToString(), Value = year.ToString() }).ToList(); model.ExperienceMonthList = StaticData.Month.Select(month => new SelectListItem { Text = month.ToString(), Value = month.ToString() }).ToList(); model.PositionList = posList.Select(r => new SelectListItem { Text = r.PositionDescription, Value = r.Id.ToString() }).ToList(); } catch (Exception ex) { logger.LogError($"Error while showing candidate registration page: {ex.StackTrace}"); ViewBag.ErrorTitle = $"Error Occurred"; ViewBag.ErrorMessage = $"Error occurred while showing candidate registration page"; return(View("Error")); } return(View(model)); }