74 lines
2.9 KiB
Plaintext
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;
|
|
}
|
|
|
|
}
|