ohctechv3/.svn/pristine/2b/2bfcaa4d16ffad5dce0e824172f89ece5ea144b5.svn-base
2024-10-28 15:03:36 +05:30

61 lines
2.5 KiB
Plaintext

package com.healthcare.ohctech.service.impl;
import com.healthcare.ohctech.dto.AppoinmentSlotDto;
import com.healthcare.ohctech.entity.AppoinmentSlot;
import com.healthcare.ohctech.repository.AppoinmentSlotRepo;
import com.healthcare.ohctech.service.AppoinmentSlotService;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
@Service
public class AppoinmentSlotServiceImpl implements AppoinmentSlotService {
private final AppoinmentSlotRepo appoinmentSlotRepo;
public AppoinmentSlotServiceImpl(AppoinmentSlotRepo appoinmentSlotRepo) {
this.appoinmentSlotRepo = appoinmentSlotRepo;
}
@Override
public AppoinmentSlot getAppoinmentSlotById(Long id) {
return appoinmentSlotRepo.findById(id)
.orElseThrow(() -> new RuntimeException("Appoinment slot not found with ID: " + id));
}
@Override
public Page<AppoinmentSlot> getAllAppoinmentSlots(Pageable pageable) {
return appoinmentSlotRepo.findAll(pageable);
}
@Override
public void addAppoinmentSlot(AppoinmentSlotDto appoinmentSlotDto,Long userId) {
AppoinmentSlot appoinmentSlot = convertToEntity(new AppoinmentSlot(), appoinmentSlotDto);
appoinmentSlot.setModifiedBy(userId);
appoinmentSlotRepo.save(appoinmentSlot);
}
@Override
public AppoinmentSlot updateAppoinmentSlot(AppoinmentSlotDto appoinmentSlotDto,Long userId) {
AppoinmentSlot appoinmentSlot = appoinmentSlotRepo.findById(appoinmentSlotDto.id())
.orElseThrow(() -> new RuntimeException("Appoinment slot not found with ID: " + appoinmentSlotDto.id()));
appoinmentSlot.setModifiedBy(userId);
return appoinmentSlotRepo.save(convertToEntity(appoinmentSlot, appoinmentSlotDto));
}
@Override
public void deleteAppoinmentSlot(Long id) {
AppoinmentSlot appoinmentSlot = appoinmentSlotRepo.findById(id)
.orElseThrow(() -> new RuntimeException("Appoinment slot not found with ID: " + id));
appoinmentSlotRepo.delete(appoinmentSlot);
}
private AppoinmentSlot convertToEntity(AppoinmentSlot appoinmentSlot, AppoinmentSlotDto appoinmentSlotDto) {
appoinmentSlot.setSlot(appoinmentSlotDto.slot());
appoinmentSlot.setSlotEnd(appoinmentSlotDto.slotEnd());
appoinmentSlot.setSlotCount(appoinmentSlotDto.slotCount());
appoinmentSlot.setAppType(appoinmentSlotDto.appType());
return appoinmentSlot;
}
}