Files
bflows-bandi-be/src/main/java/net/gepafin/tendermanagement/service/impl/ApplicationEvaluationServiceImpl.java
2024-12-13 15:11:24 +05:30

82 lines
3.3 KiB
Java

package net.gepafin.tendermanagement.service.impl;
import jakarta.servlet.http.HttpServletRequest;
import net.gepafin.tendermanagement.dao.ApplicationEvaluationDao;
import net.gepafin.tendermanagement.entities.ApplicationEvaluationEntity;
import net.gepafin.tendermanagement.entities.AssignedApplicationsEntity;
import net.gepafin.tendermanagement.entities.UserEntity;
import net.gepafin.tendermanagement.model.request.ApplicationEvaluationRequest;
import net.gepafin.tendermanagement.model.request.EvaluationDocumentRequest;
import net.gepafin.tendermanagement.model.response.ApplicationEvaluationResponse;
import net.gepafin.tendermanagement.repositories.AssignedApplicationsRepository;
import net.gepafin.tendermanagement.service.ApplicationEvaluationService;
import net.gepafin.tendermanagement.service.AssignedApplicationsService;
import net.gepafin.tendermanagement.util.Validator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Service
public class ApplicationEvaluationServiceImpl implements ApplicationEvaluationService {
@Autowired
private ApplicationEvaluationDao applicationEvaluationDao;
@Autowired
private Validator validator;
@Autowired
private AssignedApplicationsService assignedApplicationsService;
@Autowired
private AssignedApplicationsRepository assignedApplicationsRepository;
@Autowired
private ApplicationEvaluationService applicationEvaluationService;
@Override
@Transactional(rollbackFor = Exception.class)
public ApplicationEvaluationResponse createOrUpdateApplicationEvaluation(
HttpServletRequest request,
ApplicationEvaluationRequest req,
Long assignedApplicationsId) {
AssignedApplicationsEntity assignedApplication =assignedApplicationsService.validateAssignedApplication(assignedApplicationsId);
UserEntity user = validator.validatePreInstructor(request, assignedApplication.getUserId());
return applicationEvaluationDao.createOrUpdateApplicationEvaluation(user, req, assignedApplication.getId());
}
@Override
@Transactional(readOnly = true)
public ApplicationEvaluationResponse getApplicationEvaluationByApplicationId(
HttpServletRequest request, Long applicationId, Long assignedApplicationId) {
UserEntity preInstructor = validator.validateUser(request);
return applicationEvaluationDao.getApplicationEvaluationByApplicationId(
request,
preInstructor,
applicationId,
assignedApplicationId
);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteApplicationEvaluation(HttpServletRequest request,Long id) {
validator.getUserIdFromToken(request);
applicationEvaluationDao.deleteById(id);
}
@Override
public ApplicationEvaluationEntity validateApplicationEvaluation(Long applicationEvaluationId) {
return applicationEvaluationDao.validateApplicationEvaluation(applicationEvaluationId);
}
@Override
public ApplicationEvaluationEntity validateApplicationEvaluationByApplicationId(Long applicationId) {
return applicationEvaluationDao.validateApplicationEvaluationByApplicationId(applicationId);
}
}