ohctechv3/.svn/pristine/2d/2d03d51675995a8eb6a37b08af25b8f0e93111ab.svn-base
2024-10-28 15:03:36 +05:30

74 lines
2.9 KiB
Plaintext

package com.healthcare.ohctech.service.impl;
import com.healthcare.ohctech.dto.ExerciseMasterDto;
import com.healthcare.ohctech.entity.ExerciseMaster;
import com.healthcare.ohctech.entity.UnitMaster;
import com.healthcare.ohctech.repository.ExerciseMasterRepo;
import com.healthcare.ohctech.repository.UnitMasterRepo;
import com.healthcare.ohctech.service.ExerciseMasterService;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
@Service
public class ExerciseMasterServiceImpl implements ExerciseMasterService {
private final ExerciseMasterRepo exerciseMasterRepo;
private final UnitMasterRepo unitMasterRepo;
public ExerciseMasterServiceImpl(ExerciseMasterRepo exerciseMasterRepo, UnitMasterRepo unitMasterRepo) {
this.exerciseMasterRepo = exerciseMasterRepo;
this.unitMasterRepo = unitMasterRepo;
}
@Override
public ExerciseMaster getExerciseById(Long exerciseId) {
return exerciseMasterRepo.findById(exerciseId)
.orElseThrow(() -> new RuntimeException("Exercise not found for ID: " + exerciseId));
}
@Override
public Page<ExerciseMaster> getAllExercises(Pageable pageable) {
return exerciseMasterRepo.findAll(pageable);
}
@Override
public void addExercise(ExerciseMasterDto exerciseMasterDto ,Long userId) {
ExerciseMaster exerciseMaster = convertToEntity(new ExerciseMaster(), exerciseMasterDto);
exerciseMaster.setModifiedBy(userId);
exerciseMasterRepo.save(exerciseMaster);
}
@Override
public void updateExercise(ExerciseMasterDto exerciseMasterDto,Long userId) {
Long exerciseId = exerciseMasterDto.id();
ExerciseMaster exerciseMaster = exerciseMasterRepo.findById(exerciseId)
.orElseThrow(() -> new RuntimeException("Exercise not found for ID: " + exerciseId));
convertToEntity(exerciseMaster, exerciseMasterDto);
exerciseMaster.setModifiedBy(userId);
exerciseMasterRepo.save(exerciseMaster);
}
@Override
public void deleteExercise(Long exerciseId) {
ExerciseMaster exerciseMaster = exerciseMasterRepo.findById(exerciseId)
.orElseThrow(() -> new RuntimeException("Exercise not found for ID: " + exerciseId));
exerciseMasterRepo.delete(exerciseMaster);
}
private ExerciseMaster convertToEntity(ExerciseMaster exerciseMaster, ExerciseMasterDto exerciseMasterDto) {
exerciseMaster.setExerciseName(exerciseMasterDto.exerciseName());
exerciseMaster.setRemark(exerciseMasterDto.remark());
UnitMaster unitMaster = unitMasterRepo.findById(exerciseMasterDto.unitId())
.orElseThrow(() -> new RuntimeException("Unit not found for ID: " + exerciseMasterDto.unitId()));
exerciseMaster.setUnitMaster(unitMaster);
return exerciseMaster;
}
}