public ActionResult Create() { List <SelectListItem> skills = new List <SelectListItem>(); foreach (var dbSkill in db.Skills) { skills.Add(new SelectListItem() { Text = dbSkill.Name, Value = dbSkill.Id.ToString() }); } ViewBag.SkillId = new SelectList(skills, "Value", "Text"); ViewModel.EmployeeSkillDto newEmpSkill = new ViewModel.EmployeeSkillDto(); newEmpSkill.Skilllist = new List <SkillDto>(); newEmpSkill.Skilllist.Add(new SkillDto()); return(View(newEmpSkill)); }
public ActionResult Create(ViewModel.EmployeeSkillDto employeeSkillDto, string submit) { List <SelectListItem> skills = new List <SelectListItem>(); foreach (var dbSkill in db.Skills) { skills.Add(new SelectListItem() { Text = dbSkill.Name, Value = dbSkill.Id.ToString() }); } ViewBag.SkillId = new SelectList(skills, "Value", "Text"); switch (submit) { case "Cancel": return(RedirectToAction("Index")); case "AddMoreSkill": employeeSkillDto.Skilllist.Add(new SkillDto()); return(View(employeeSkillDto)); case "Create": if (ModelState.IsValid) { var newEmployee = new Employee() { FirstName = employeeSkillDto.FirstName, LastName = employeeSkillDto.LastName, PhoneNumber = employeeSkillDto.PhoneNumber }; db.Employees.Add(newEmployee); db.SaveChanges(); var selectNewEmplyee = db.Employees.FirstOrDefault(e => e.FirstName == employeeSkillDto.FirstName && e.LastName == employeeSkillDto.LastName); foreach (var empSkill in employeeSkillDto.Skilllist) { var newEmpSkill = new EmployeeSkill() { Employee = selectNewEmplyee, EmployeeId = selectNewEmplyee.Id, SkillId = empSkill.Id, YearsExperience = empSkill.YearExprience }; db.EmployeeSkills.Add(newEmpSkill); db.SaveChanges(); } return(RedirectToAction("Index")); } ViewBag.EmployeeId = new SelectList(db.Employees, "Id", "FirstName", employeeSkillDto.EmployeeId); return(View(employeeSkillDto)); default: int index = Convert.ToInt32(submit); var removeItem = employeeSkillDto.Skilllist[index]; if (employeeSkillDto.Skilllist.Count > 1) { employeeSkillDto.Skilllist.Remove(removeItem); } return(View(employeeSkillDto)); } }