package view.console.enseignant;

import java.util.ArrayList;

import model.QCM;
import model.Question;
import model.Reponse;

public class QCM_Modification {
	public static void trigger() {
		System.out.println("Modification d'un QCM :");
	}
	
	public static void showQCM(ArrayList<QCM> l_qcm) {
		int i;
		System.out.println("Choisir un numéro de QCM :");
		System.out.println("0. Quitter la modification");
		for (i = 0 ; i < l_qcm.size() ; i++) {
			System.out.println(Integer.toString(i+1) + ". " + l_qcm.get(i).getLibelle());
		}
	}
	
	public static void showQuestions(QCM qcm) {
		int i;
		String prive;
		if (qcm.isPrive()) {
			prive = "PUBLIC";
		} else {
			prive = "PRIVE";
		}
		System.out.println("QCM '" + qcm.getLibelle() + "' (par " + qcm.getCreateur().toString() + ") :");
		System.out.println("Choisir un numéro de question ou une tâche :");
		System.out.println("0. Quitter le QCM");
		System.out.println("1. Modifier le libellé du QCM");
		System.out.println("2. Passer la visibilité du QCM à : " + prive);
		System.out.println("3. Ajouter une question");
		System.out.println("");
		for (i = 0 ; i < qcm.getQuestions().size() ; i++) {
			System.out.println(Integer.toString(i+4) + ". " + qcm.getQuestions().get(i).getLibelle());
		}
	}
	
	public static void showReponses(Question q) {
		int i;
		System.out.println("Question : " + q.getLibelle());
		System.out.println("Choisir un numéro de réponse ou une tâche :");
		System.out.println("0. Quitter la question");
		System.out.println("1. Supprimer la question");
		System.out.println("2. Ajouter une réponse");
		System.out.println("3. Modifier le libellé de la question");
		System.out.println("");
		for (i = 0 ; i < q.getReponses().size() ; i++) {
			System.out.println(Integer.toString(i+4) + ". " + q.getReponses().get(i).getLibelle());
		}
	}
	
	public static void editReponse(Reponse r) {
		String vraie;
		if (r.isVraie()) {
			vraie = "FAUX";
		} else {
			vraie = "VRAI";
		}
		System.out.println("Réponse : " + r.getLibelle());
		System.out.println("Choisir la tâche :");
		System.out.println("-1. Supprimer la réponse");
		System.out.println("0. Quitter la réponse");
		System.out.println("1. Modifier le libellé de la réponse");
		System.out.println("2. Passer le caractère de la réponse à : " + vraie);
	}
	
	public static void askLibelle() {
		System.out.println("Nouveau libellé du QCM :");
	}
	
	public static void tellPrive(boolean prive) {
		if (prive) {
			System.out.println("Ce QCM est désormais privé.");
		} else {
			System.out.println("Ce QCM est désormais public.");
		}
	}
	
	public static void askQuestion() {
		System.out.println("Nouvel intitulé de la question :");
	}
	
	public static void askReponse() {
		System.out.println("Nouvel intitulé de la réponse :");
	}
	
	public static void tellVraie(boolean vraie) {
		if (vraie) {
			System.out.println("Cette réponse est maintenant vraie pour la question.");
		} else {
			System.out.println("Cette réponse est maintenant fausse pour la question.");
		}
	}
	
	public static void addQuestion(int count) {
		System.out.println("Question numéro " + Integer.toString(count) + " du QCM :");
		System.out.println("Intitulé de la question :");
	}
	
	public static void addReponse(int count) {
		System.out.println("Réponse numéro " + Integer.toString(count) + " de la question :");
		System.out.println("Intitulé de la réponse :");
	}
	
	public static void removeQuestion(Question q) {
		System.out.println("La question '" + q.getLibelle() + "' a été supprimée.");
	}
	
	public static void removeReponse(Reponse r) {
		System.out.println("La réponse '" + r.getLibelle() + "'a été supprimée");
	}
	
	public static void fail(int min, int cap) {
		System.out.println("Veuillez entrer un chiffre entre "+ Integer.toString(min) + " et " + Integer.toString(cap) + ".");
	}
	
	public static void askDoneReponse() {
		System.out.println("Est-ce qu'il y a d'autres réponses à la question ? [o/n]");
	}
	
	public static void askDoneQuestion() {
		System.out.println("Est-ce qu'il y a d'autres questions pour le QCM ? [o/n]");
	}
	
	public static void updateDatabase() {
		System.out.println("Modification terminée.");
	}
}
