@Transactional(propagation = Propagation.REQUIRED) public Patient savePatient(Patient patient) throws ParseException { UserDetailEntity patientEntity = userDetailMapper.patientToUserDetailEntity(patient); if (patientEntity.getId() != null) { patientEntity = userDetailRepository.save(patientEntity); } else { UserCredentialsEntity userCredentialsEntity = new UserCredentialsEntity(); userCredentialsEntity.setRoleId(roleRepository.findByRole("PATIENT").getId()); userCredentialsEntity = userCredentialsRepository.save(userCredentialsEntity); patientEntity.setId(userCredentialsEntity.getId()); patientEntity = userDetailRepository.save(patientEntity); UserDetailEntity doctor = userDetailRepository.findOne(iamService.getAuthenticatedUser().getId()); DoctorPatientMappingId doctorPatientMappingId = new DoctorPatientMappingId(doctor.getId(), patientEntity.getId()); DoctorPatientMappingEntity doctorPatientMappingEntity = new DoctorPatientMappingEntity(doctorPatientMappingId); doctorPatientMappingRepository.save(doctorPatientMappingEntity); } return userDetailMapper.userDetailEntityToPatient(patientEntity); }
public Patient getPatientDetails(Long patientId) { UserDetailEntity userDetailEntity = userDetailRepository.findOne(patientId); return userDetailMapper.userDetailEntityToPatient(userDetailEntity); }