Beispiel #1
0
        public async Task <IActionResult> Edit(EmployeeView employeeView)
        {
            Employee employee = new Employee();
            List <EmployeeHobbies> employeeHobbies = new List <EmployeeHobbies>();

            employee.EmployeeID  = employeeView.EmployeeID;
            employee.FirstName   = employeeView.FirstName;
            employee.LastName    = employeeView.LastName;
            employee.EmailId     = employeeView.EmailId;
            employee.PhoneNumber = employeeView.PhoneNumber;
            employee.DateofBirth = employeeView.DateofBirth;
            employee.Gender      = employeeView.Gender;
            _context.Update(employee);



            Address address = new Address();

            address.AddressID       = employeeView.Address.AddressID;
            address.EmployeeID      = employeeView.EmployeeID;
            address.ApartmentNumber = employeeView.Address.ApartmentNumber;
            address.State           = employeeView.Address.State;
            address.City            = employeeView.Address.City;
            address.Street          = employeeView.Address.Street;
            address.Country         = employeeView.Address.Country;
            address.ZipCode         = employeeView.Address.ZipCode;

            _context.Update(address);

            List <EmployeeHobbies> employeeHobbiesList = new List <EmployeeHobbies>();

            employeeHobbiesList = _context.EmployeeHobbies.ToList();

            foreach (var list in employeeHobbiesList)
            {
                Debug.WriteLine(list.HobbyID);
                EmployeeHobbies employeeHobby = await _context.EmployeeHobbies.SingleOrDefaultAsync(m => m.HobbyID == list.HobbyID);

                _context.Remove(employeeHobby);
            }

            foreach (var hobby in employeeView.CheckHobbies)
            {
                if (hobby.IsChecked)
                {
                    employeeHobbies.Add(new EmployeeHobbies {
                        EmployeeID = employeeView.EmployeeID, HobbyID = hobby.ID
                    });
                }
            }

            foreach (var hobby in employeeHobbies)
            {
                _context.EmployeeHobbies.Add(hobby);
            }

            _context.SaveChanges();

            return(RedirectToAction("Index"));
        }
        public async Task <IActionResult> Create([Bind("EmployeeId,FirstName,LastName,Address,BirthDate,Joindate,Gender,RoleId,About")] Employee employee, IFormCollection fc)
        {
            if (ModelState.IsValid)
            {
                var emp = await _context.Employees.AddAsync(employee);

                await _context.SaveChangesAsync();

                List <EmployeeHobbies> Hobbies = new List <EmployeeHobbies>();
                foreach (var i in fc["hobbies"])
                {
                    var hobbies = new EmployeeHobbies()
                    {
                        HobbyId    = Convert.ToInt32(i),
                        EmployeeId = emp.Entity.EmployeeId
                    };
                    Hobbies.Add(hobbies);
                }
                List <EmployeeSkills> skills = new List <EmployeeSkills>();

                foreach (var i in fc["skills"])
                {
                    var skill = new EmployeeSkills()
                    {
                        SkillId    = Convert.ToInt32(i),
                        EmployeeId = emp.Entity.EmployeeId
                    };
                    skills.Add(skill);
                }
                _context.EmployeeSkills.AddRange(skills);
                _context.EmployeeHobbies.AddRange(Hobbies);

                _context.SaveChanges();
            }
            ViewData["Roles"] = _context.Roles.ToList();
            return(View(employee));
        }