package com.healthcare.ohctech.service.impl; import com.healthcare.ohctech.dto.JobProfileDto; import com.healthcare.ohctech.entity.JobProfile; import com.healthcare.ohctech.repository.JobProfileRepo; import com.healthcare.ohctech.service.JobProfileService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import java.util.Optional; @Service public class JobProfileServiceImpl implements JobProfileService { @Autowired private JobProfileRepo jobProfileRepo; @Override public JobProfile getJobProfileById(Long jobProfileId) { Optional jobProfile = jobProfileRepo.findById(jobProfileId); return jobProfile.orElse(null); } @Override public Page getAllJobProfiles(Pageable pageable) { return jobProfileRepo.findAll(pageable); } @Override public void addJobProfile(JobProfileDto jobProfileDto) { JobProfile jobProfile = new JobProfile(); jobProfile.setJobProfileName(jobProfileDto.jobProfileName()); jobProfile.setJobProfileCode(jobProfileDto.jobProfileCode()); jobProfileRepo.save(jobProfile); } @Override public JobProfile updateJobProfile(JobProfileDto jobProfileDto) { Optional optionalJobProfile = jobProfileRepo.findById(jobProfileDto.id()); if (optionalJobProfile.isPresent()) { JobProfile jobProfile = optionalJobProfile.get(); jobProfile.setJobProfileName(jobProfileDto.jobProfileName()); jobProfile.setJobProfileCode(jobProfileDto.jobProfileCode()); return jobProfileRepo.save(jobProfile); } else { throw new RuntimeException("Job Profile not found with ID: " + jobProfileDto.id()); } } @Override public void deleteJobProfile(Long jobProfileId) { Optional optionalJobProfile = jobProfileRepo.findById(jobProfileId); if (optionalJobProfile.isPresent()) { JobProfile jobProfile = optionalJobProfile.get(); jobProfileRepo.delete(jobProfile); } else { throw new RuntimeException("Job Profile not found with ID: " + jobProfileId); } } }