public async Task <IActionResult> Create([Bind("Id,Name,Surname,PhoneNumber,Email,VacancyId,StatusId,TestId,RegistrationDate,Skills,TestResult")] CandidateViewModel candidate) { if (ModelState.IsValid) { _context.Add(candidate); await _context.SaveChangesAsync(); foreach (var item in candidate.Skills) { if (string.IsNullOrEmpty(item.Value)) { continue; } Skill skill = new Skill { Value = item.Value, SkillTypeId = item.SkillTypeId, }; _context.Add(skill); await _context.SaveChangesAsync(); int candidateId = candidate.Id; int skillId = skill.Id; ObjectSkill objectSkill = new ObjectSkill { ObjectId = candidateId, ObjectTypeId = (int)ObjectTypeEnum.Kandidats, SkillId = skillId, }; _context.Add(objectSkill); await _context.SaveChangesAsync(); } if (candidate.TestResult != null && candidate.TestId != null) { TestResult testResult = new TestResult { CandidateId = candidate.Id, TestId = candidate.TestId.Value, ResultPercentage = candidate.TestResult.Value, }; _context.Add(testResult); await _context.SaveChangesAsync(); } return(RedirectToAction(nameof(Index))); } ViewData["StatusName"] = new SelectList(_context.Status, "Id", "Name", candidate.StatusId); ViewData["TestId"] = new SelectList(_context.Tests, "Id", "Name", candidate.TestId); ViewData["VacancyName"] = new SelectList(_context.Vacancies, "Id", "Name", candidate.VacancyId); return(View(candidate)); }
public async Task <IActionResult> Create(VacancyViewModel VacancyViewModel) { if (ModelState.IsValid) { Vacancy vacancy = new Vacancy { Name = VacancyViewModel.Name, OpeningDate = VacancyViewModel.OpeningDate, ClosingDate = VacancyViewModel.ClosingDate, TestId = VacancyViewModel.TestId, Test = VacancyViewModel.Test, }; _context.Add(vacancy); await _context.SaveChangesAsync(); foreach (var item in VacancyViewModel.Skills) { if (string.IsNullOrEmpty(item.Value)) { continue; } Skill skill = new Skill { Value = item.Value, SkillTypeId = item.SkillTypeId, }; _context.Add(skill); await _context.SaveChangesAsync(); int vacancyId = vacancy.Id; int skillId = skill.Id; ObjectSkill objectSkill = new ObjectSkill { ObjectId = vacancyId, ObjectTypeId = (int)ObjectTypeEnum.Vakance, SkillId = skillId, }; _context.Add(objectSkill); await _context.SaveChangesAsync(); } return(RedirectToAction(nameof(Index))); } ViewData["TestId"] = new SelectList(_context.Tests, "Id", "Name"); ViewData["SkillTypeName"] = new SelectList(_context.SkillTypes, "Id", "Name"); return(View(VacancyViewModel)); }