package com.healthcare.ohctech.service.impl; import com.healthcare.ohctech.dto.PatientCategoryDto; import com.healthcare.ohctech.entity.PatientCategory; import com.healthcare.ohctech.repository.PatientCategoryRepo; import com.healthcare.ohctech.service.PatientCategoryService; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; @Service public class PatientCategoryServiceImpl implements PatientCategoryService { private final PatientCategoryRepo patientCategoryRepo; public PatientCategoryServiceImpl(PatientCategoryRepo patientCategoryRepo) { this.patientCategoryRepo = patientCategoryRepo; } @Override public PatientCategory getPatientCategoryById(Long patientCatId) { return patientCategoryRepo.findById(patientCatId) .orElseThrow(() -> new RuntimeException("Patient Category not found for ID: " + patientCatId)); } @Override public Page getAllPatientCategories(Pageable pageable) { return patientCategoryRepo.findAll(pageable); } @Override public void addPatientCategory(PatientCategoryDto patientCategoryDto, Long userId) { PatientCategory patientCategory = new PatientCategory(); patientCategory.setPatientCatName(patientCategoryDto.patientCatName()); patientCategoryRepo.save(patientCategory); } @Override public void updatePatientCategory(PatientCategoryDto patientCategoryDto, Long userId) { Long patientCatId = patientCategoryDto.id(); PatientCategory patientCategory = patientCategoryRepo.findById(patientCatId) .orElseThrow(() -> new RuntimeException("Patient Category not found for ID: " + patientCatId)); patientCategory.setPatientCatName(patientCategoryDto.patientCatName()); patientCategoryRepo.save(patientCategory); } @Override public void deletePatientCategory(Long patientCatId) { PatientCategory patientCategory = patientCategoryRepo.findById(patientCatId) .orElseThrow(() -> new RuntimeException("Patient Category not found for ID: " + patientCatId)); patientCategoryRepo.delete(patientCategory); } }