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));
            }
        }