diff --git a/api-payroll/src/application/EmployeeApplication.php b/api-payroll/src/application/EmployeeApplication.php index 6ad0e03..7ff7d12 100644 --- a/api-payroll/src/application/EmployeeApplication.php +++ b/api-payroll/src/application/EmployeeApplication.php @@ -301,14 +301,41 @@ class EmployeeApplication{ } } + /** + * @param $idEmployee integer + * @param $code string + * @param $idEmployeeType integer + * @param $contractType string + */ + function updateEmployee($idEmployee, $code, $idEmployeeType, $contractType){ + try { + $stmt = $this->pdo->prepare("UPDATE employees + SET + idEmployeeType = :idEmployeeType, + code = :code, + contractType = :contractType + WHERE + id = :idEmployee"); + $this->pdo->beginTransaction(); + $stmt->execute(array(':idEmployeeType' => $idEmployeeType, ':code' => $code, ':contractType' => $contractType, + ':idEmployee' => $idEmployee)); + $this->pdo->commit(); + + $stmt = null; + } catch( PDOExecption $e ) { + $this->pdo->rollback(); + } + } + /** * @param $requestData object * @return array */ - function updateEmployee($requestData){ + function updateEmployeeData($requestData){ // Getting and validating the data $idEmployee = $requestData['idEmployee']; $idPerson = $this->getIdPersonByIdEmployee($idEmployee); + $code = $requestData['code']; $firstName = $requestData['firstName']; $this->asserts->firstName($firstName); @@ -346,6 +373,8 @@ class EmployeeApplication{ $this->updatePerson($idPerson, $securedFirstName, $securedMiddleName, $securedLastName, $birthDate, $securedEmail, $phone); + $this->updateEmployee($idEmployee, $code, $idEmployeeType, $contractType); + $response = array( "fullName" => "$firstName $middleName $lastName", "idEmployee" => $idEmployee, diff --git a/api-payroll/src/routes.php b/api-payroll/src/routes.php index 820efe7..def91f3 100644 --- a/api-payroll/src/routes.php +++ b/api-payroll/src/routes.php @@ -54,7 +54,7 @@ $app->put('/api/employee', function ($request, $response) { return $response->withStatus(200) ->withHeader('Content-Type', 'application/json') - ->write(json_encode($this->employeeApplication->updateEmployee($requestData))); + ->write(json_encode($this->employeeApplication->updateEmployeeData($requestData))); });