public ActionResult EditEmployee(long id, EmployeeModel editedEmployee) { if (ModelState.IsValid) { var newEmployee = new EmployeeDetailsDto(); editedEmployee.ConvertToDto(newEmployee); var currentEmployee = PersonRepository.GetItemById <Employee>(id); var currentAddress = AddressRepository.GetItemById <Address>(currentEmployee.Address.Id); AddressRepository.UpdateAddress(currentAddress, editedEmployee.City, editedEmployee.Street); var newCompany = CompanyRepository.GetItemById <Company>(newEmployee.CompanyId); var currentsalary = PersonRepository.GetItemById <Salary>(currentEmployee.Salary.Id); PersonRepository.UpdateEmployee(currentEmployee, newEmployee, newCompany, currentsalary); var pers = PersonRepository.GetAllFirstAndLastNames(); return(PartialView("WorkerList", pers)); } return(PartialView(editedEmployee)); }