@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 void update(final BaseEntity model) throws ServiceException, LogicException { final 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(); catalogoServicodao.update(catalogoServicoDto); servContratoCatalogoServDao.deleteByIdServContratoCatalogo(catalogoServicoDto); 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); } } infoCatalogoServicoDao.deleteByIdInfoCatalogo(catalogoServicoDto); 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); item.setIdCatalogoServico(catalogoServicoDto.getIdCatalogoServico()); // grava cada item da lista infoCatalogoServicoDao.create(item); } } tc.commit(); } catch (final Exception e) { e.printStackTrace(); this.rollbackTransaction(tc, e); } finally { try { tc.close(); } catch (final Exception e) { e.printStackTrace(); } } }