public void edit(Timereport timereport) throws NonexistentEntityException, Exception { EntityManager em = null; try { em = getEntityManager(); em.getTransaction().begin(); Timereport persistentTimereport = em.find(Timereport.class, timereport.getIdtimereport()); Utilisateur idutilisateurOld = persistentTimereport.getIdutilisateur(); Utilisateur idutilisateurNew = timereport.getIdutilisateur(); Tache idtacheOld = persistentTimereport.getIdtache(); Tache idtacheNew = timereport.getIdtache(); if (idutilisateurNew != null) { idutilisateurNew = em.getReference(idutilisateurNew.getClass(), idutilisateurNew.getIdutilisateur()); timereport.setIdutilisateur(idutilisateurNew); } if (idtacheNew != null) { idtacheNew = em.getReference(idtacheNew.getClass(), idtacheNew.getIdtache()); timereport.setIdtache(idtacheNew); } timereport = em.merge(timereport); if (idutilisateurOld != null && !idutilisateurOld.equals(idutilisateurNew)) { idutilisateurOld.getTimereportCollection().remove(timereport); idutilisateurOld = em.merge(idutilisateurOld); } if (idutilisateurNew != null && !idutilisateurNew.equals(idutilisateurOld)) { idutilisateurNew.getTimereportCollection().add(timereport); idutilisateurNew = em.merge(idutilisateurNew); } if (idtacheOld != null && !idtacheOld.equals(idtacheNew)) { idtacheOld.getTimereportCollection().remove(timereport); idtacheOld = em.merge(idtacheOld); } if (idtacheNew != null && !idtacheNew.equals(idtacheOld)) { idtacheNew.getTimereportCollection().add(timereport); idtacheNew = em.merge(idtacheNew); } em.getTransaction().commit(); } catch (Exception ex) { String msg = ex.getLocalizedMessage(); if (msg == null || msg.length() == 0) { Integer id = timereport.getIdtimereport(); if (findTimereport(id) == null) { throw new NonexistentEntityException( "The timereport with id " + id + " no longer exists."); } } throw ex; } finally { if (em != null) { em.close(); } } }
public void create(Timereport timereport) throws PreexistingEntityException, Exception { EntityManager em = null; try { em = getEntityManager(); em.getTransaction().begin(); Utilisateur idutilisateur = timereport.getIdutilisateur(); if (idutilisateur != null) { idutilisateur = em.getReference(idutilisateur.getClass(), idutilisateur.getIdutilisateur()); timereport.setIdutilisateur(idutilisateur); } Tache idtache = timereport.getIdtache(); if (idtache != null) { idtache = em.getReference(idtache.getClass(), idtache.getIdtache()); timereport.setIdtache(idtache); } em.persist(timereport); if (idutilisateur != null) { idutilisateur.getTimereportCollection().add(timereport); idutilisateur = em.merge(idutilisateur); } if (idtache != null) { idtache.getTimereportCollection().add(timereport); idtache = em.merge(idtache); } em.getTransaction().commit(); } catch (Exception ex) { if (findTimereport(timereport.getIdtimereport()) != null) { throw new PreexistingEntityException("Timereport " + timereport + " already exists.", ex); } throw ex; } finally { if (em != null) { em.close(); } } }