69 lines
2.7 KiB
Plaintext
69 lines
2.7 KiB
Plaintext
|
package com.healthcare.ohctech.service.impl;
|
||
|
|
||
|
import com.healthcare.ohctech.dto.DisposalAgencyDto;
|
||
|
import com.healthcare.ohctech.entity.DisposalAgency;
|
||
|
import com.healthcare.ohctech.repository.DisposalAgencyRepo;
|
||
|
import com.healthcare.ohctech.service.DisposalAgencyService;
|
||
|
import org.springframework.data.domain.Page;
|
||
|
import org.springframework.data.domain.Pageable;
|
||
|
import org.springframework.stereotype.Service;
|
||
|
|
||
|
import java.util.Optional;
|
||
|
|
||
|
@Service
|
||
|
public class DisposalAgencyServiceImpl implements DisposalAgencyService {
|
||
|
private final DisposalAgencyRepo disposalAgencyRepo;
|
||
|
|
||
|
public DisposalAgencyServiceImpl(DisposalAgencyRepo disposalAgencyRepo) {
|
||
|
this.disposalAgencyRepo = disposalAgencyRepo;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public DisposalAgency getDisposalAgencyById(Long id) {
|
||
|
Optional<DisposalAgency> agency = disposalAgencyRepo.findById(id);
|
||
|
return agency.orElse(null);
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public Page<DisposalAgency> getAllDisposalAgencies(Pageable pageable) {
|
||
|
return disposalAgencyRepo.findAll(pageable);
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void addDisposalAgency(DisposalAgencyDto disposalAgencyDto) {
|
||
|
DisposalAgency agency = new DisposalAgency();
|
||
|
agency.setAgencyName(disposalAgencyDto.agencyName());
|
||
|
agency.setAgencyAddress(disposalAgencyDto.agencyAddress());
|
||
|
agency.setRegistrationNo(disposalAgencyDto.registrationNo());
|
||
|
agency.setAllocatedRegNo(disposalAgencyDto.allocatedRegNo());
|
||
|
agency.setHodName(disposalAgencyDto.hodName());
|
||
|
agency.setHodEmail(disposalAgencyDto.hodEmail());
|
||
|
|
||
|
disposalAgencyRepo.save(agency);
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public DisposalAgency updateDisposalAgency(DisposalAgencyDto disposalAgencyDto) {
|
||
|
Optional<DisposalAgency> optionalAgency = disposalAgencyRepo.findById(disposalAgencyDto.id());
|
||
|
if (optionalAgency.isPresent()) {
|
||
|
DisposalAgency agency = optionalAgency.get();
|
||
|
agency.setAgencyName(disposalAgencyDto.agencyName());
|
||
|
agency.setAgencyAddress(disposalAgencyDto.agencyAddress());
|
||
|
agency.setRegistrationNo(disposalAgencyDto.registrationNo());
|
||
|
agency.setAllocatedRegNo(disposalAgencyDto.allocatedRegNo());
|
||
|
agency.setHodName(disposalAgencyDto.hodName());
|
||
|
agency.setHodEmail(disposalAgencyDto.hodEmail());
|
||
|
|
||
|
return disposalAgencyRepo.save(agency);
|
||
|
} else {
|
||
|
throw new RuntimeException("Disposal agency not found with ID: " + disposalAgencyDto.id());
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void deleteDisposalAgency(Long id) {
|
||
|
Optional<DisposalAgency> optionalAgency = disposalAgencyRepo.findById(id);
|
||
|
optionalAgency.ifPresent(disposalAgencyRepo::delete);
|
||
|
}
|
||
|
}
|