import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;

import DAO.DAOBase;
import Model.Etudiant;


public class TestBDD 
{
	public static void main(String[] args) 
	{
		JTextField nom = new JTextField();
		JTextField prenom = new JTextField();
		JTextField age = new JTextField();
		JButton bouton1 = new JButton("Créer");
		JButton bouton3 = new JButton("Supprimer");
		JButton bouton2 = new JButton("Afficher");
		JFrame jf = new JFrame("Hibernate Test");
		jf.setLayout(new GridLayout(6,1));
		jf.add(nom);
		jf.add(prenom);
		jf.add(age);
		jf.add(bouton1);
		jf.add(bouton3);
		jf.add(bouton2);
		bouton1.addActionListener(new MyListenerCreer(nom,prenom,age));
		bouton2.addActionListener(new MyListenerAfficher());
		bouton3.addActionListener(new MyListenerSupprimer());
		jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		jf.setSize(300, 300);
		jf.setVisible(true);
	}
}

class MyListenerCreer implements ActionListener
{
	JTextField nom;
	JTextField prenom;
	JTextField age;
	
	public MyListenerCreer(JTextField nom, JTextField prenom, JTextField age) 
	{
		this.nom = nom;
		this.prenom = prenom;
		this.age = age;
	}

	public void actionPerformed(ActionEvent e) 
	{
		Etudiant et = new Etudiant();
		et.setAge(Integer.parseInt(age.getText()));
		et.setNom(nom.getText());
		et.setPrenom(prenom.getText());
		DAOBase.addEtudiant(et);
	}
}

class MyListenerAfficher implements ActionListener
{
	public void actionPerformed(ActionEvent e) 
	{
		List<Etudiant> etudiants = DAOBase.getListEtudiant();
		System.out.println("Lecture BDD : \n"); 
		for (int i = 0; i < etudiants.size(); i++) 
		{
			System.out.println(etudiants.get(i));
		}
		System.out.println();
	}
}

class MyListenerSupprimer implements ActionListener
{
	public void actionPerformed(ActionEvent e) 
	{
		DAOBase.removeFirstEtudiant();
	}
}
