Files
bflows-bandi-be/src/main/java/net/gepafin/tendermanagement/dao/FormTemplateDao.java

81 lines
4.5 KiB
Java

package net.gepafin.tendermanagement.dao;
import net.gepafin.tendermanagement.config.Translator;
import net.gepafin.tendermanagement.constants.GepafinConstant;
import net.gepafin.tendermanagement.entities.FormTemplateEntity;
import net.gepafin.tendermanagement.model.request.FormTemplateRequest;
import net.gepafin.tendermanagement.model.response.FormTemplateResponseBean;
import net.gepafin.tendermanagement.repositories.FormTemplateRepository;
import net.gepafin.tendermanagement.service.FormTemplateService;
import net.gepafin.tendermanagement.util.ObjectUtils;
import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException;
import net.gepafin.tendermanagement.web.rest.api.errors.ResourceNotFoundException;
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class FormTemplateDao {
@Autowired
private FormTemplateRepository formTemplateRepository;
@Autowired
private FormTemplateService formTemplateService;
public FormTemplateEntity convertFormTemplateRequestToFormTemplateRequest(FormTemplateRequest formTemplateRequest){
FormTemplateEntity formTemplateEntity=new FormTemplateEntity();
formTemplateEntity.setContent(formTemplateRequest.getContent());
formTemplateEntity.setLabel(formTemplateRequest.getLabel());
formTemplateEntity=saveFormTemplateEntity(formTemplateEntity);
return formTemplateEntity;
}
public FormTemplateEntity saveFormTemplateEntity(FormTemplateEntity formTemplateEntity){
formTemplateEntity=formTemplateRepository.save(formTemplateEntity);
return formTemplateEntity;
}
public FormTemplateResponseBean convertFormTemplateEntityToFormTemplateResponseBean(FormTemplateEntity formTemplateEntity){
FormTemplateResponseBean formTemplateResponseBean=new FormTemplateResponseBean();
formTemplateResponseBean.setId(formTemplateEntity.getId());
formTemplateResponseBean.setContent(formTemplateEntity.getContent());
formTemplateResponseBean.setLabel(formTemplateEntity.getLabel());
formTemplateResponseBean.setCreatedDate(formTemplateEntity.getCreatedDate());
formTemplateResponseBean.setUpdatedDate(formTemplateEntity.getUpdatedDate());
return formTemplateResponseBean;
}
public FormTemplateResponseBean createFormTemplate(FormTemplateRequest formTemplateRequest){
validateFormTemplate(formTemplateRequest);
FormTemplateEntity formTemplateEntity=convertFormTemplateRequestToFormTemplateRequest(formTemplateRequest);
return convertFormTemplateEntityToFormTemplateResponseBean(formTemplateEntity);
}
public void validateFormTemplate(FormTemplateRequest formTemplateRequest){
if(formTemplateRequest.getContent()==null || formTemplateRequest.getLabel()==null ){
throw new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.REQUIRED_PARAMETER_NOT_FOUND_FOR_FORM_TEMPLATE));
}
}
public FormTemplateResponseBean updateFormTemplate(Long formTemplateId,FormTemplateRequest formTemplateRequest){
FormTemplateEntity formTemplateEntity = formTemplateService.getFormEntityById(formTemplateId);
ObjectUtils.setIfUpdated(formTemplateEntity::getLabel,formTemplateEntity::setLabel,formTemplateRequest.getLabel());
ObjectUtils.setIfUpdated(formTemplateEntity::getContent,formTemplateEntity::setContent,formTemplateRequest.getContent());
formTemplateEntity=saveFormTemplateEntity(formTemplateEntity);
return convertFormTemplateEntityToFormTemplateResponseBean(formTemplateEntity);
}
public FormTemplateEntity getFormTemplateEntity(Long formTemplateId) {
FormTemplateEntity formTemplateEntity = formTemplateRepository.findById(formTemplateId)
.orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND, Translator.toLocale(GepafinConstant.FORM_TEMPLATE_NOT_FOUND)));
return formTemplateEntity;
}
public FormTemplateResponseBean getFormTemplateEntityById(Long formTemplateId) {
FormTemplateEntity formTemplateEntity = formTemplateService.getFormEntityById(formTemplateId);
return convertFormTemplateEntityToFormTemplateResponseBean(formTemplateEntity);
}
public void deleteFormTemplateById(Long formTemplateId){
FormTemplateEntity formTemplateEntity=formTemplateService.getFormEntityById(formTemplateId);
formTemplateRepository.delete(formTemplateEntity);
}
}