<commit_before>/**
 * 
 */
package fr.imie.tpjdbc.presentation;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Scanner;

import fr.imie.tpjdbc.DAO.IPersonneDAO;
import fr.imie.tpjdbc.DAO.PersonneDAO;
import fr.imie.tpjdbc.DTO.PersonneDTO;

/**
 * @author imie
 *
 */
public class Presentation implements IPresentation {

	Scanner scanner;

	/**
	 * 
	 */
	public Presentation() {
		scanner = new Scanner(System.in);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see fr.imie.tpjdbc.presentation.IPresentation#start()
	 */
	@Override
	public void start() {

		// instantiation du DAO
					IPersonneDAO personneDAO = new PersonneDAO();
		
		// TP1
		Boolean endAppli = false;
		List<PersonneDTO> personneDTOs = null;
		
		while (!endAppli) {

			
			System.out.println("-------------------------");
			System.out.println("1 : lister tous les users");
			System.out.println("2 : detail d'un user     ");
			System.out.println("3 : insérer un user      ");
			System.out.println("-------------------------");
			
			Integer menuNumber = inputInteger();
			
			switch (menuNumber) {
			case 1:
				// utilisation du DAO
				personneDTOs = personneDAO.findAll();

				Integer numLigne = 1;

				for (PersonneDTO personneDTO : personneDTOs) {
					System.out.format("%d : %s | %s\n", numLigne++,
							personneDTO.getNom(), personneDTO.getPrenom());
				}
				break;

			case 2:
				// TP 2
				Boolean goodInput = false;
				Integer input = null;
				input = inputInteger();

				if (input == 0) {
					endAppli = true;
					break;
				}

				PersonneDTO selectedPersonne = personneDTOs.get(input - 1);
				selectedPersonne = personneDAO.findById(selectedPersonne);
				System.out.format(
						"nom : %s \nprenom :  %s\ndateNaiss : %s\ntel %s\n\n",
						selectedPersonne.getNom(), selectedPersonne.getPrenom(),
						selectedPersonne.getDateNaiss(), selectedPersonne.getTel());
			case 3:
				
				PersonneDTO personneDTO =  new PersonneDTO();
				System.out.print("nom :  ");
				String nom = scanner.nextLine();
				personneDTO.setNom(nom);
				System.out.print("prenom :  ");
				String prenom = scanner.nextLine();
				personneDTO.setPrenom(prenom);
				System.out.print("tel :  ");
				String tel = scanner.nextLine();
				personneDTO.setTel(tel);
				System.out.print("date de naissance :  ");
				Date date = inputDate();
				personneDTO.setDateNaiss(date);
				personneDTO=personneDAO.insert(personneDTO);
				System.out.format("nouvel id inséré : %s\n",personneDTO.getId());
			default:
	
			}
			
			
			

			

		}

		System.out.println("End");

	}

	private Integer inputInteger() {
		Boolean goodInput=false;
		Integer input=null;
		while (!goodInput) {
			try {
				System.out.println("saisir un numero");
				String rawInput = scanner.nextLine();
				input = Integer.valueOf(rawInput);
				goodInput = true;
			} catch (NumberFormatException e) {
				System.out.println("mauvais format");<commit_msg>rajout des break manquants dans presenetation<commit_after>/**
 * 
 */
package fr.imie.tpjdbc.presentation;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Scanner;

import fr.imie.tpjdbc.DAO.IPersonneDAO;
import fr.imie.tpjdbc.DAO.PersonneDAO;
import fr.imie.tpjdbc.DTO.PersonneDTO;

/**
 * @author imie
 *
 */
public class Presentation implements IPresentation {

	Scanner scanner;

	/**
	 * 
	 */
	public Presentation() {
		scanner = new Scanner(System.in);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see fr.imie.tpjdbc.presentation.IPresentation#start()
	 */
	@Override
	public void start() {

		// instantiation du DAO
					IPersonneDAO personneDAO = new PersonneDAO();
		
		// TP1
		Boolean endAppli = false;
		List<PersonneDTO> personneDTOs = null;
		
		while (!endAppli) {

			
			System.out.println("-------------------------");
			System.out.println("1 : lister tous les users");
			System.out.println("2 : detail d'un user     ");
			System.out.println("3 : insérer un user      ");
			System.out.println("-------------------------");
			
			Integer menuNumber = inputInteger();
			
			switch (menuNumber) {
			case 1:
				// utilisation du DAO
				personneDTOs = personneDAO.findAll();

				Integer numLigne = 1;

				for (PersonneDTO personneDTO : personneDTOs) {
					System.out.format("%d : %s | %s\n", numLigne++,
							personneDTO.getNom(), personneDTO.getPrenom());
				}
				break;

			case 2:
				// TP 2
				Boolean goodInput = false;
				Integer input = null;
				input = inputInteger();

				if (input == 0) {
					endAppli = true;
					break;
				}

				PersonneDTO selectedPersonne = personneDTOs.get(input - 1);
				selectedPersonne = personneDAO.findById(selectedPersonne);
				System.out.format(
						"nom : %s \nprenom :  %s\ndateNaiss : %s\ntel %s\n\n",
						selectedPersonne.getNom(), selectedPersonne.getPrenom(),
						selectedPersonne.getDateNaiss(), selectedPersonne.getTel());
				break;
			case 3:
				
				PersonneDTO personneDTO =  new PersonneDTO();
				System.out.print("nom :  ");
				String nom = scanner.nextLine();
				personneDTO.setNom(nom);
				System.out.print("prenom :  ");
				String prenom = scanner.nextLine();
				personneDTO.setPrenom(prenom);
				System.out.print("tel :  ");
				String tel = scanner.nextLine();
				personneDTO.setTel(tel);
				System.out.print("date de naissance :  ");
				Date date = inputDate();
				personneDTO.setDateNaiss(date);
				personneDTO=personneDAO.insert(personneDTO);
				System.out.format("nouvel id inséré : %s\n",personneDTO.getId());
				break;
			default:
	
			}
			
			
			

			

		}

		System.out.println("End");

	}

	private Integer inputInteger() {
		Boolean goodInput=false;
		Integer input=null;
		while (!goodInput) {
			try {
				System.out.println("saisir un numero");
				String rawInput = scanner.nextLine();
				input = Integer.valueOf(rawInput);
				goodInput = true;
			} catch (NumberFormatException e) {
				System.out.println("mauvais format");
{'fraction_non_alphanumeric': 0.15106241699867198, 'fraction_numerical': 0.0036520584329349268, 'mean_word_length': 2.837579617834395, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7656615', 'n_tokens_mistral': 2544, 'n_tokens_neox': 2053, 'n_words': 390}