@Override public BaseEntity restore(final BaseEntity model) throws ServiceException, LogicException { CatalogoServicoDTO catalogoServicoDto = null; final CatalogoServicoDao dao = this.getDao(); try { catalogoServicoDto = (CatalogoServicoDTO) dao.restore(model); final ServContratoCatalogoServDTO servContratoCatalogoServDTO = new ServContratoCatalogoServDTO(); // SERVCONTRATOCATALOGOSERVICO servContratoCatalogoServDTO.setIdCatalogoServico(catalogoServicoDto.getIdCatalogoServico()); catalogoServicoDto.setColServicoContrato( new ArrayList( this.getServContratoCatalogoServDao().findByIdCatalogo(servContratoCatalogoServDTO))); final InfoCatalogoServicoDTO infoCatalogoServicoDTO = new InfoCatalogoServicoDTO(); infoCatalogoServicoDTO.setIdCatalogoServico(catalogoServicoDto.getIdCatalogoServico()); catalogoServicoDto.setColInfoCatalogoServico( new ArrayList( this.getInfoCatalogoServicoDao().findByIdInfoCatalogo(infoCatalogoServicoDTO))); } catch (final Exception e) { e.printStackTrace(); throw new ServiceException(e); } return catalogoServicoDto; }
@Override public BaseEntity create(final BaseEntity model) throws ServiceException, LogicException { CatalogoServicoDTO catalogoServicoDto = (CatalogoServicoDTO) model; final CatalogoServicoDao catalogoServicodao = this.getDao(); final ServContratoCatalogoServDao servContratoCatalogoServDao = new ServContratoCatalogoServDao(); final InfoCatalogoServicoDao infoCatalogoServicoDao = new InfoCatalogoServicoDao(); final TransactionControler tc = new TransactionControlerImpl(catalogoServicodao.getAliasDB()); try { this.validaCreate(model); catalogoServicodao.setTransactionControler(tc); infoCatalogoServicoDao.setTransactionControler(tc); servContratoCatalogoServDao.setTransactionControler(tc); tc.start(); catalogoServicoDto = (CatalogoServicoDTO) catalogoServicodao.create(model); if (catalogoServicoDto.getColServicoContrato() != null && !catalogoServicoDto.getColServicoContrato().isEmpty()) { ServContratoCatalogoServDTO item = null; // varre a lista de serviços for (int i = 0; i < catalogoServicoDto.getColServicoContrato().size(); i++) { item = catalogoServicoDto.getColServicoContrato().get(i); item.setIdCatalogoServico(catalogoServicoDto.getIdCatalogoServico()); // grava cada item da lista servContratoCatalogoServDao.create(item); } } if (catalogoServicoDto.getColInfoCatalogoServico() != null && !catalogoServicoDto.getColInfoCatalogoServico().isEmpty()) { InfoCatalogoServicoDTO item = null; // varre a lista de serviços for (int i = 0; i < catalogoServicoDto.getColInfoCatalogoServico().size(); i++) { item = catalogoServicoDto.getColInfoCatalogoServico().get(i); if (catalogoServicoDto.getIdCatalogoServico() != null) { item.setIdCatalogoServico(catalogoServicoDto.getIdCatalogoServico()); } if (catalogoServicoDto.getNomeInfoCatalogoServico() != null) { item.setNomeInfoCatalogoServico(catalogoServicoDto.getNomeInfoCatalogoServico()); } if (catalogoServicoDto.getDescInfoCatalogoServico() != null) { item.setDescInfoCatalogoServico(catalogoServicoDto.getDescInfoCatalogoServico()); } // grava cada item da lista if (item.getIdInfoCatalogoServico() == null) { infoCatalogoServicoDao.create(item); } else { infoCatalogoServicoDao.update(item); } } } tc.commit(); } catch (final Exception e) { e.printStackTrace(); this.rollbackTransaction(tc, e); } finally { try { tc.close(); } catch (final Exception e) { e.printStackTrace(); } } return catalogoServicoDto; }