package com.pollex.pam.appointment.process; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.pollex.pam.domain.AppointmentClosedInfo; import com.pollex.pam.enums.ContactStatusEnum; import com.pollex.pam.repository.AppointmentClosedInfoRepository; import com.pollex.pam.service.dto.AbstractAppointmentProcessDTO; import com.pollex.pam.service.dto.ClosedProcessDTO; import com.pollex.pam.service.dto.DoneProcessDTO; @Service public class ClosedProcess implements AppointmentProcessInterface{ @Autowired AppointmentClosedInfoRepository appointmentClosedInfoRepository; @Override public void doProcess(AbstractAppointmentProcessDTO processDTO) { ClosedProcessDTO doneProcess = (ClosedProcessDTO)processDTO; BeanUtils.copyProperties(processDTO, doneProcess); AppointmentClosedInfo closedInfo = new AppointmentClosedInfo(); BeanUtils.copyProperties(doneProcess, closedInfo); appointmentClosedInfoRepository.save(closedInfo); } @Override public ContactStatusEnum getProcessType() { return ContactStatusEnum.CLOSED; } }