controller Question fini

This commit is contained in:
trochas
2025-10-08 10:52:43 +02:00
parent e913f8154d
commit 5a9481f92c
2 changed files with 37 additions and 34 deletions

View File

@@ -8,14 +8,5 @@ import sample.data.jpa.metier.Question;
@Transactional @Transactional
public interface QuestionDao extends JpaRepository<Question, Integer> { public interface QuestionDao extends JpaRepository<Question, Integer> {
//public Question findById(int id);
public void deleteReponse(int id);
public void setChoix(int id);
public void setReponseCourte(int id);
public void addChoix(int id, String choix);
} }

View File

@@ -9,7 +9,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
import sample.data.jpa.metier.Choix; import sample.data.jpa.metier.Choix;
import sample.data.jpa.metier.Question; import sample.data.jpa.metier.Question;
import sample.data.jpa.metier.Reponse; import sample.data.jpa.metier.ReponseCourte;
import sample.data.jpa.service.QuestionDao; import sample.data.jpa.service.QuestionDao;
@@ -19,6 +19,7 @@ public class QuestionController {
@Autowired @Autowired
private QuestionDao qDao; private QuestionDao qDao;
@RequestMapping("/create") @RequestMapping("/create")
@ResponseBody @ResponseBody
public String create(String email, String name) { public String create(String email, String name) {
@@ -36,7 +37,7 @@ public class QuestionController {
@RequestMapping("/update") @RequestMapping("/update")
@ResponseBody @ResponseBody
public String updateUser(long id, String newQ) { public String updateQuestion(int id, String newQ) {
try { try {
Question q = qDao.findById(id).get(); Question q = qDao.findById(id).get();
q.setQuestion(newQ); q.setQuestion(newQ);
@@ -48,19 +49,6 @@ public class QuestionController {
return "Question succesfully updated!"; return "Question succesfully updated!";
} }
@RequestMapping("/changeQuestion")
@ResponseBody
public String changeQuestion(int id, String newQuestion) {
try {
Question question = qDao.findById(id).get();
question.setQuestion(newQuestion);
qDao.save(question);
return "Question mise à jour : " + newQuestion;
} catch (Exception ex) {
return "Erreur lors de la mise à jour de la question : " + ex.toString();
}
}
@RequestMapping("/getReponse") @RequestMapping("/getReponse")
@ResponseBody @ResponseBody
public String getReponse(int id) { public String getReponse(int id) {
@@ -88,18 +76,21 @@ public class QuestionController {
public String addReponse(int id, String reponse) { public String addReponse(int id, String reponse) {
try { try {
Question question = qDao.findById(id).get(); Question question = qDao.findById(id).get();
qDao.addReponse(reponse, id); question.getReponse().getReponses().add(reponse);
qDao.save(question);
return "Réponse correcte \"" + reponse + "\" ajoutée à la question " + id; return "Réponse correcte \"" + reponse + "\" ajoutée à la question " + id;
} catch (Exception ex) { } catch (Exception ex) {
return "Erreur lors de l'ajout de la réponse : " + ex.toString(); return "Erreur lors de l'ajout de la réponse : " + ex.toString();
} }
} }
@RequestMapping("/deleteReponses") @RequestMapping("/deleteReponse")
@ResponseBody @ResponseBody
public String deleteReponses(int id) { public String deleteReponses(int id, String reponse) {
try { try {
qDao.deleteReponse(id); Question question = qDao.findById(id).get();
question.getReponse().getReponses().remove(reponse);
qDao.save(question);
return "Réponses supprimées de la question " + id; return "Réponses supprimées de la question " + id;
} catch (Exception ex) { } catch (Exception ex) {
return "Erreur lors de la suppression des réponses : " + ex.toString(); return "Erreur lors de la suppression des réponses : " + ex.toString();
@@ -110,7 +101,9 @@ public class QuestionController {
@ResponseBody @ResponseBody
public String setReponseChoix(int id) { public String setReponseChoix(int id) {
try { try {
qDao.setChoix(id); Question question = qDao.findById(id).get();
question.setReponse(new Choix());
qDao.save(question);
return "Réponses à choix multiple mises sur la question " + id; return "Réponses à choix multiple mises sur la question " + id;
} catch (Exception ex) { } catch (Exception ex) {
return "Erreur lors de la mise en place du type 'choix' : " + ex.toString(); return "Erreur lors de la mise en place du type 'choix' : " + ex.toString();
@@ -121,26 +114,45 @@ public class QuestionController {
@ResponseBody @ResponseBody
public String setReponseCourte(int id) { public String setReponseCourte(int id) {
try { try {
qDao.setReponseCourte(id); Question question = qDao.findById(id).get();
question.setReponse(new ReponseCourte());
qDao.save(question);
return "Réponses courtes mises sur la question " + id; return "Réponses courtes mises sur la question " + id;
} catch (Exception ex) { } catch (Exception ex) {
return "Erreur lors de la mise en place du type 'réponse courte' : " + ex.toString(); return "Erreur lors de la mise en place du type 'réponse courte' : " + ex.toString();
} }
} }
@RequestMapping("/addChoix") @RequestMapping("/updateChoix")
@ResponseBody @ResponseBody
public String addChoix(int id, String choix) { public String addChoix(int id, String choix) {
try { try {
Question question = qDao.findById(id).get(); Question question = qDao.findById(id).get();
if (question.getReponse() instanceof Choix) { if (question.getReponse() instanceof Choix) {
return "Erreur : la réponse est déjà un choix multiple."; ((Choix) question.getReponse()).getChoix().add(choix);
qDao.save(question);
} }
qDao.addChoix(id, choix); else return "Erreur : la réponse doit être a choix multiple.";
return "Choix \"" + choix + "\" ajouté à la question " + id; return "Choix \"" + choix + "\" ajouté à la question " + id;
} catch (Exception ex) { } catch (Exception ex) {
return "Erreur lors de l'ajout du choix : " + ex.toString(); return "Erreur lors de l'ajout du choix : " + ex.toString();
} }
} }
@RequestMapping("/delete")
@ResponseBody
public String delete(int id) {
try {
Question q = qDao.findById(id).get();
qDao.delete(q);
}
catch (Exception ex) {
return "Error deleting the question " + id + " :" + ex.toString();
}
return "Question " + id + " succesfully deleted!";
}
} }