ohctechv3/.svn/pristine/80/80c7b9918fbddcb0a1765b2db2af9bdeb99ac8fa.svn-base
2024-10-28 15:03:36 +05:30

62 lines
2.5 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;
@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, Long userId) {
MedicineTiming medicineTiming = convertToEntity(new MedicineTiming(), medicineTimingDto);
medicineTiming.setModifiedBy(userId);
medicineTimingRepo.save(medicineTiming);
}
@Override
public void updateMedicineTiming(MedicineTimingDto medicineTimingDto, Long userId) {
Long timingId = medicineTimingDto.id();
MedicineTiming medicineTiming = medicineTimingRepo.findById(timingId)
.orElseThrow(() -> new RuntimeException("Medicine Timing not found for ID: " + timingId));
convertToEntity(medicineTiming, medicineTimingDto);
medicineTiming.setModifiedBy(userId);
medicineTimingRepo.save(medicineTiming);
}
@Override
public void deleteMedicineTiming(Long timingId) {
MedicineTiming medicineTiming = medicineTimingRepo.findById(timingId)
.orElseThrow(() -> new RuntimeException("Medicine Timing not found for ID: " + timingId));
medicineTimingRepo.delete(medicineTiming);
}
private MedicineTiming convertToEntity(MedicineTiming medicineTiming, MedicineTimingDto medicineTimingDto) {
medicineTiming.setMedicineTiming(medicineTimingDto.medicineTiming());
medicineTiming.setTimingDescription(medicineTimingDto.timingDescription());
return medicineTiming;
}
}