72 lines
2.9 KiB
Plaintext
72 lines
2.9 KiB
Plaintext
package com.healthcare.ohctech.service.impl;
|
|
|
|
import com.healthcare.ohctech.dto.DesignationDto;
|
|
import com.healthcare.ohctech.entity.Designation;
|
|
import com.healthcare.ohctech.repository.DesignationRepo;
|
|
import com.healthcare.ohctech.service.DesignationService;
|
|
import org.springframework.data.domain.Page;
|
|
import org.springframework.data.domain.Pageable;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import java.util.Optional;
|
|
|
|
@Service
|
|
public class DesignationServiceImpl implements DesignationService {
|
|
|
|
private final DesignationRepo designationRepo;
|
|
|
|
public DesignationServiceImpl(DesignationRepo designationRepo) {
|
|
this.designationRepo = designationRepo;
|
|
}
|
|
|
|
@Override
|
|
public Designation getDesignationById(Long designationId) {
|
|
return designationRepo.findById(designationId)
|
|
.orElseThrow(() -> new RuntimeException("Designation not found for ID :" + designationId));
|
|
}
|
|
|
|
@Override
|
|
public Page<Designation> getAllDesignations(Pageable pageable) {
|
|
return designationRepo.findAll(pageable);
|
|
}
|
|
|
|
@Override
|
|
public void addDesignation(DesignationDto designationDto) {
|
|
Designation designation = new Designation();
|
|
designation.setDesignationName(designationDto.designationName());
|
|
designation.setDesignationCode(designationDto.designationCode());
|
|
designation.setDesignationDesc(designationDto.designationDesc());
|
|
designation.setDesignationCollar(designationDto.designationCollar());
|
|
|
|
designationRepo.save(designation);
|
|
}
|
|
|
|
@Override
|
|
public void updateDesignation(DesignationDto designationDto) {
|
|
Long designationId = designationDto.id();
|
|
Optional<Designation> optionalDesignation = designationRepo.findById(designationId);
|
|
if (optionalDesignation.isPresent()) {
|
|
Designation designation = optionalDesignation.get();
|
|
designation.setDesignationName(designationDto.designationName());
|
|
designation.setDesignationCode(designationDto.designationCode());
|
|
designation.setDesignationDesc(designationDto.designationDesc());
|
|
designation.setDesignationCollar(designationDto.designationCollar());
|
|
|
|
designationRepo.save(designation);
|
|
} else {
|
|
throw new RuntimeException("Designation not found for ID: " + designationId);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void deleteDesignation(Long designationId) {
|
|
Optional<Designation> optionalDesignation = designationRepo.findById(designationId);
|
|
if (optionalDesignation.isPresent()) {
|
|
Designation designation = optionalDesignation.get();
|
|
designationRepo.delete(designation);
|
|
} else {
|
|
throw new RuntimeException("Designation not found for ID: " + designationId);
|
|
}
|
|
}
|
|
}
|