77 lines
4.4 KiB
Java
77 lines
4.4 KiB
Java
package net.gepafin.tendermanagement.service.impl;
|
|
|
|
import jakarta.servlet.http.HttpServletRequest;
|
|
import net.gepafin.tendermanagement.dao.ApplicationAmendmentRequestDao;
|
|
import net.gepafin.tendermanagement.dao.CommunicationDao;
|
|
import net.gepafin.tendermanagement.entities.ApplicationAmendmentRequestEntity;
|
|
import net.gepafin.tendermanagement.model.request.CommunicationRequestBean;
|
|
import net.gepafin.tendermanagement.model.response.ApplicationAmendmentResponse;
|
|
import net.gepafin.tendermanagement.model.response.CommunicationResponseBean;
|
|
import net.gepafin.tendermanagement.service.CommunicationService;
|
|
import net.gepafin.tendermanagement.util.Validator;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
@Service
|
|
public class CommunicationServiceImpl implements CommunicationService {
|
|
|
|
@Autowired
|
|
CommunicationDao communicationDao;
|
|
|
|
@Autowired
|
|
ApplicationAmendmentRequestDao applicationAmendmentRequestDao;
|
|
|
|
@Autowired
|
|
Validator validator;
|
|
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public CommunicationResponseBean addCommentToAmendmentRequest(HttpServletRequest request ,CommunicationRequestBean communicationRequestBean, Long amendmentId) {
|
|
ApplicationAmendmentRequestEntity applicationAmendmentRequestEntity = applicationAmendmentRequestDao.validateApplicationAmendmentRequest(amendmentId);
|
|
if (Boolean.FALSE.equals(validator.checkIsBeneficiary())) {
|
|
validator.validatePreInstructor(request, applicationAmendmentRequestEntity.getApplicationEvaluationEntity().getUserId());
|
|
} else {
|
|
validator.validateUserId(request, applicationAmendmentRequestEntity.getApplicationEvaluationEntity().getAssignedApplicationsEntity().getApplication().getUserId());
|
|
}
|
|
return communicationDao.addCommentToAmendmentRequest(request,communicationRequestBean, amendmentId);
|
|
}
|
|
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public String deleteComment(HttpServletRequest request ,Long amendmentId, Long commentId) {
|
|
ApplicationAmendmentRequestEntity applicationAmendmentRequestEntity = applicationAmendmentRequestDao.validateApplicationAmendmentRequest(amendmentId);
|
|
if (Boolean.FALSE.equals(validator.checkIsBeneficiary())) {
|
|
validator.validatePreInstructor(request, applicationAmendmentRequestEntity.getApplicationEvaluationEntity().getUserId());
|
|
} else {
|
|
validator.validateUserId(request, applicationAmendmentRequestEntity.getApplicationEvaluationEntity().getAssignedApplicationsEntity().getApplication().getUserId());
|
|
}
|
|
return communicationDao.deleteComment(amendmentId, commentId);
|
|
}
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public CommunicationResponseBean updateAmendmentComment(HttpServletRequest request,CommunicationRequestBean communicationRequestBean, Long amendmentId, Long commentId) {
|
|
ApplicationAmendmentRequestEntity applicationAmendmentRequestEntity = applicationAmendmentRequestDao.validateApplicationAmendmentRequest(amendmentId);
|
|
if (Boolean.FALSE.equals(validator.checkIsBeneficiary())) {
|
|
validator.validatePreInstructor(request, applicationAmendmentRequestEntity.getApplicationEvaluationEntity().getUserId());
|
|
} else {
|
|
validator.validateUserId(request, applicationAmendmentRequestEntity.getApplicationEvaluationEntity().getAssignedApplicationsEntity().getApplication().getUserId());
|
|
}
|
|
return communicationDao.updateAmendmentComment(communicationRequestBean, amendmentId, commentId);
|
|
}
|
|
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public ApplicationAmendmentResponse getAmendmentComments(HttpServletRequest request,Long id) {
|
|
ApplicationAmendmentRequestEntity applicationAmendmentRequestEntity = applicationAmendmentRequestDao.validateApplicationAmendmentRequest(id);
|
|
if (Boolean.FALSE.equals(validator.checkIsBeneficiary())) {
|
|
validator.validatePreInstructor(request, applicationAmendmentRequestEntity.getApplicationEvaluationEntity().getUserId());
|
|
} else {
|
|
validator.validateUserId(request, applicationAmendmentRequestEntity.getApplicationEvaluationEntity().getAssignedApplicationsEntity().getApplication().getUserId());
|
|
}
|
|
return communicationDao.getAmendmentComments(id);
|
|
}
|
|
}
|