package controller.console.enseignant;

import java.util.InputMismatchException;
import java.util.Scanner;

import model.Enseignant;

import view.console.enseignant.Menu;

import controller.Database;

public class MenuControle {
	private Scanner sc;
	private int input;
	
	public MenuControle(Database d, Enseignant e_connected) {
		boolean done = false;
		sc = new Scanner(System.in);
		
		Menu.trigger();
		while (!done) {
			try {
				Menu.askInput();
				this.askInput();
				if (this.input == 0) {
					done = true;
				} else if (this.input == 1) {
					QCM_GestionControle qgc = new QCM_GestionControle(d, e_connected);
					qgc.updateDatabase(d);
				} else if (this.input == 2) {
					Session_GestionControle sgc = new Session_GestionControle(d, e_connected);
					sgc.updateDatabase(d);
				} else {
					Session_ConsultationControle scc = new Session_ConsultationControle(d.getListeSessions(),d.getListeRendus());
					scc.close();
				}
			} catch (InputMismatchException e) {
				Menu.fail();
			}
		}
		
	}
	
	private void askInput() throws InputMismatchException {
		input = sc.nextInt();
		sc.nextLine();
		if ((input < 0) || (input > 3)) {
			throw new InputMismatchException();
		}
	}
	
	public void close() {
		Menu.close();
	}
}
