68 lines
2.7 KiB
Plaintext
68 lines
2.7 KiB
Plaintext
package com.healthcare.ohctech.service.impl;
|
|
|
|
import com.healthcare.ohctech.dto.MedicineTimingDto;
|
|
import com.healthcare.ohctech.entity.MedicineTiming;
|
|
import com.healthcare.ohctech.repository.MedicineTimingRepo;
|
|
import com.healthcare.ohctech.service.MedicineTimingService;
|
|
import org.springframework.data.domain.Page;
|
|
import org.springframework.data.domain.Pageable;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import java.util.Optional;
|
|
|
|
@Service
|
|
public class MedicineTimingServiceImpl implements MedicineTimingService {
|
|
|
|
private final MedicineTimingRepo medicineTimingRepo;
|
|
|
|
public MedicineTimingServiceImpl(MedicineTimingRepo medicineTimingRepo) {
|
|
this.medicineTimingRepo = medicineTimingRepo;
|
|
}
|
|
|
|
@Override
|
|
public MedicineTiming getMedicineTimingById(Long timingId) {
|
|
return medicineTimingRepo.findById(timingId)
|
|
.orElseThrow(() -> new RuntimeException("Medicine Timing not found for ID: " + timingId));
|
|
}
|
|
|
|
@Override
|
|
public Page<MedicineTiming> getAllMedicineTimings(Pageable pageable) {
|
|
return medicineTimingRepo.findAll(pageable);
|
|
}
|
|
|
|
@Override
|
|
public void addMedicineTiming(MedicineTimingDto medicineTimingDto) {
|
|
MedicineTiming medicineTiming = new MedicineTiming();
|
|
medicineTiming.setMedicineTiming(medicineTimingDto.medicineTiming());
|
|
medicineTiming.setTimingDescription(medicineTimingDto.timingDescription());
|
|
|
|
medicineTimingRepo.save(medicineTiming);
|
|
}
|
|
|
|
@Override
|
|
public void updateMedicineTiming(MedicineTimingDto medicineTimingDto) {
|
|
Long timingId = medicineTimingDto.id();
|
|
Optional<MedicineTiming> optionalMedicineTiming = medicineTimingRepo.findById(timingId);
|
|
if (optionalMedicineTiming.isPresent()) {
|
|
MedicineTiming medicineTiming = optionalMedicineTiming.get();
|
|
medicineTiming.setMedicineTiming(medicineTimingDto.medicineTiming());
|
|
medicineTiming.setTimingDescription(medicineTimingDto.timingDescription());
|
|
|
|
medicineTimingRepo.save(medicineTiming);
|
|
} else {
|
|
throw new RuntimeException("Medicine Timing not found for ID: " + timingId);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void deleteMedicineTiming(Long timingId) {
|
|
Optional<MedicineTiming> optionalMedicineTiming = medicineTimingRepo.findById(timingId);
|
|
if (optionalMedicineTiming.isPresent()) {
|
|
MedicineTiming medicineTiming = optionalMedicineTiming.get();
|
|
medicineTimingRepo.delete(medicineTiming);
|
|
} else {
|
|
throw new RuntimeException("Medicine Timing not found for ID: " + timingId);
|
|
}
|
|
}
|
|
}
|