ohctechv3/.svn/pristine/70/7089602a7f9416a9d2981be52a2b99cc193a3c66.svn-base
2024-10-28 15:03:36 +05:30

65 lines
2.4 KiB
Plaintext

package com.healthcare.ohctech.service.impl;
import com.healthcare.ohctech.dto.MedicineFormDto;
import com.healthcare.ohctech.entity.MedicineForm;
import com.healthcare.ohctech.repository.MedicineFormRepo;
import com.healthcare.ohctech.service.MedicineFormService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
@Service
public class MedicineFormServiceImpl implements MedicineFormService {
private final MedicineFormRepo medicineFormRepo;
@Autowired
public MedicineFormServiceImpl(MedicineFormRepo medicineFormRepo) {
this.medicineFormRepo = medicineFormRepo;
}
@Override
public MedicineForm getMedicineFormById(Long id) {
return medicineFormRepo.findById(id)
.orElseThrow(() -> new RuntimeException("MedicineForm not found for ID: " + id));
}
@Override
public Page<MedicineForm> getAllMedicineForms(Pageable pageable) {
return medicineFormRepo.findAll(pageable);
}
@Override
public void addMedicineForm(MedicineFormDto medicineFormDto, Long userId) {
MedicineForm medicineForm = convertToEntity(new MedicineForm(), medicineFormDto);
medicineForm.setModifiedBy(userId);
medicineFormRepo.save(medicineForm);
}
@Override
public void updateMedicineForm(MedicineFormDto medicineFormDto, Long userId) {
Long formId = medicineFormDto.id();
MedicineForm medicineForm = medicineFormRepo.findById(formId)
.orElseThrow(() -> new RuntimeException("MedicineForm not found for ID: " + formId));
convertToEntity(medicineForm, medicineFormDto);
medicineForm.setModifiedBy(userId);
medicineFormRepo.save(medicineForm);
}
@Override
public void deleteMedicineForm(Long id) {
MedicineForm medicineForm = medicineFormRepo.findById(id)
.orElseThrow(() -> new RuntimeException("MedicineForm not found for ID: " + id));
medicineFormRepo.delete(medicineForm);
}
private MedicineForm convertToEntity(MedicineForm medicineForm, MedicineFormDto medicineFormDto) {
medicineForm.setFormName(medicineFormDto.formName());
medicineForm.setFormCode(medicineFormDto.formCode());
medicineForm.setIsQtyFixed(medicineFormDto.isQtyFixed());
return medicineForm;
}
}