Skip to content

Instantly share code, notes, and snippets.

@anirban99
Created April 4, 2021 11:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anirban99/4cafa2d72fe7e1ef5132da0ba59f88e9 to your computer and use it in GitHub Desktop.
Save anirban99/4cafa2d72fe7e1ef5132da0ba59f88e9 to your computer and use it in GitHub Desktop.
@Service
class EmployeeService(private val employeeRepository: EmployeeRepository) {
fun getAllEmployees(): List<Employee> = employeeRepository.findAll()
fun getEmployeesById(employeeId: Long): Employee = employeeRepository.findById(employeeId)
.orElseThrow { EmployeeNotFoundException(HttpStatus.NOT_FOUND, "No matching employee was found") }
fun createEmployee(employee: Employee): Employee = employeeRepository.save(employee)
fun updateEmployeeById(employeeId: Long, employee: Employee): Employee {
return if (employeeRepository.existsById(employeeId)) {
employeeRepository.save(
Employee(
id = employee.id,
userName = employee.userName,
firstName = employee.firstName,
middleName = employee.middleName,
lastName = employee.lastName,
emailId = employee.emailId,
dayOfBirth = employee.dayOfBirth
)
)
} else throw EmployeeNotFoundException(HttpStatus.NOT_FOUND, "No matching employee was found")
}
fun deleteEmployeesById(employeeId: Long) {
return if (employeeRepository.existsById(employeeId)) {
employeeRepository.deleteById(employeeId)
} else throw EmployeeNotFoundException(HttpStatus.NOT_FOUND, "No matching employee was found")
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment