package br.com.centralit.citcorpore.negocio; import java.util.Collection; import br.com.centralit.citcorpore.bean.ImportarDadosDTO; import br.com.centralit.citcorpore.integracao.ImportarDadosDao; import br.com.centralit.citged.bean.ControleGEDDTO; import br.com.centralit.citged.negocio.ControleGEDServiceBean; import br.com.citframework.dto.IDto; import br.com.citframework.excecao.LogicException; import br.com.citframework.excecao.ServiceException; import br.com.citframework.integracao.TransactionControler; import br.com.citframework.integracao.TransactionControlerImpl; import br.com.citframework.service.CrudServiceImpl; public class ImportarDadosServiceEjb extends CrudServiceImpl implements ImportarDadosService { private ImportarDadosDao dao; @Override protected ImportarDadosDao getDao() { if (dao == null) { dao = new ImportarDadosDao(); } return dao; } @Override public IDto create(final IDto model) throws ServiceException, LogicException { final ImportarDadosDao importarDadosDao = new ImportarDadosDao(); final TransactionControler tc = new TransactionControlerImpl(importarDadosDao.getAliasDB()); try { this.validaCreate(model); importarDadosDao.setTransactionControler(tc); tc.start(); ImportarDadosDTO importarDadosDto = (ImportarDadosDTO) model; importarDadosDto = (ImportarDadosDTO) importarDadosDao.create(importarDadosDto); this.atualizaAnexos(importarDadosDto, tc); tc.commit(); tc.close(); } catch (final Exception e) { this.rollbackTransaction(tc, e); } return model; } @Override public void update(final IDto model) throws ServiceException, LogicException { final ImportarDadosDao importarDadosDao = new ImportarDadosDao(); final TransactionControler tc = new TransactionControlerImpl(importarDadosDao.getAliasDB()); try { this.validaUpdate(model); importarDadosDao.setTransactionControler(tc); tc.start(); final ImportarDadosDTO importarDadosDto = (ImportarDadosDTO) model; importarDadosDao.update(importarDadosDto); this.atualizaAnexos(importarDadosDto, tc); tc.commit(); tc.close(); } catch (final Exception e) { this.rollbackTransaction(tc, e); } } private void atualizaAnexos(final ImportarDadosDTO importarDadosDto, final TransactionControler tc) throws Exception { new ControleGEDServiceBean().atualizaAnexos(importarDadosDto.getAnexos(), ControleGEDDTO.TABELA_IMPORTARDADOS, importarDadosDto.getIdImportarDados(), tc); } /** * Retorna lista com os registros da tabela ImportarDados relacionados ao idExternalConnection */ @Override public Collection<ImportarDadosDTO> consultarImportarDadosRelacionados(final Integer idExternalConnection) throws Exception { return this.getDao().consultarImportarDadosPeloExternalConnection(idExternalConnection); } }