ohctechv3/.svn/pristine/99/9951b16a8f516e8afed334699f45e6cb9b73e5f8.svn-base
2024-10-28 15:03:36 +05:30

66 lines
2.5 KiB
Plaintext

package com.healthcare.ohctech.service.impl;
import com.healthcare.ohctech.dto.ExerciseDto;
import com.healthcare.ohctech.entity.Exercise;
import com.healthcare.ohctech.entity.ExerciseMaster;
import com.healthcare.ohctech.repository.ExerciseMasterRepo;
import com.healthcare.ohctech.repository.ExerciseRepo;
import com.healthcare.ohctech.service.ExerciseService;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
@Service
public class ExerciseServiceImpl implements ExerciseService {
private final ExerciseRepo exerciseRepo;
private final ExerciseMasterRepo exerciseMasterRepo;
public ExerciseServiceImpl(ExerciseRepo exerciseRepo, ExerciseMasterRepo exerciseMasterRepo) {
this.exerciseRepo = exerciseRepo;
this.exerciseMasterRepo = exerciseMasterRepo;
}
@Override
public Exercise getExerciseById(Long exeId) {
return exerciseRepo.findById(exeId)
.orElseThrow(() -> new RuntimeException("Exercise not found for ID: " + exeId));
}
@Override
public Page<Exercise> getAllExercises(Pageable pageable) {
return exerciseRepo.findAll(pageable);
}
@Override
public void addExercise(ExerciseDto exerciseDto) {
Exercise exercise = new Exercise();
convertToEntity(exercise, exerciseDto);
exerciseRepo.save(exercise);
}
@Override
public void updateExercise(ExerciseDto exerciseDto) {
Long exeId = exerciseDto.id();
Exercise exercise = exerciseRepo.findById(exeId)
.orElseThrow(() -> new RuntimeException("Exercise not found for ID: " + exeId));
convertToEntity(exercise, exerciseDto);
exerciseRepo.save(exercise);
}
@Override
public void deleteExercise(Long exeId) {
Exercise exercise = exerciseRepo.findById(exeId)
.orElseThrow(() -> new RuntimeException("Exercise not found for ID: " + exeId));
exerciseRepo.delete(exercise);
}
private void convertToEntity(Exercise exercise, ExerciseDto exerciseDto) {
ExerciseMaster exerciseMaster = exerciseMasterRepo.findById(exerciseDto.exerciseMasterId())
.orElseThrow(() -> new RuntimeException("Exercise Master not found for ID: " + exerciseDto.exerciseMasterId()));
exercise.setExerciseMaster(exerciseMaster);
exercise.setMinutes(exerciseDto.minutes());
exercise.setModifiedBy(exerciseDto.modifiedBy());
}
}