66 lines
2.5 KiB
Plaintext
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());
|
|
}
|
|
}
|