81 lines
4.5 KiB
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);
|
|
}
|
|
}
|