49 lines
1.4 KiB
Java
49 lines
1.4 KiB
Java
package fr.istic.taa.jaxrs.DAO;
|
|
|
|
import fr.istic.taa.jaxrs.metier.Question;
|
|
import jakarta.persistence.EntityTransaction;
|
|
import fr.istic.taa.jaxrs.metier.Quizz;
|
|
|
|
public class QuizzDAO extends AbstractJpaDao<Integer, Quizz> {
|
|
public QuizzDAO(){
|
|
super();
|
|
this.setClass(Quizz.class);
|
|
}
|
|
|
|
public void deleteAllQuestion(int quizzId) {
|
|
EntityTransaction t = em.getTransaction();
|
|
try {
|
|
if (!t.isActive()) t.begin();
|
|
Quizz quizz = em.find(Quizz.class, quizzId);
|
|
if (quizz != null) {
|
|
quizz.getQuestions().clear();
|
|
em.merge(quizz);
|
|
}
|
|
t.commit();
|
|
} catch (Exception e) {
|
|
if (t.isActive()) t.rollback();
|
|
e.printStackTrace();
|
|
throw e;
|
|
}
|
|
}
|
|
|
|
public void addQuestion(int quizzId, int questionId) {
|
|
EntityTransaction t = em.getTransaction();
|
|
try {
|
|
if (!t.isActive()) t.begin();
|
|
Quizz quizz = em.find(Quizz.class, quizzId);
|
|
Question question = em.find(Question.class, questionId);
|
|
|
|
if (quizz != null && question != null) {
|
|
quizz.getQuestions().add(question);
|
|
em.merge(quizz);
|
|
}
|
|
t.commit();
|
|
} catch (Exception e) {
|
|
if (t.isActive()) t.rollback();
|
|
e.printStackTrace();
|
|
throw e;
|
|
}
|
|
}
|
|
}
|