/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Modelo;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

/**
 *
 * @author Administrador
 */
public class Controlador {

    Cliente cli=new Cliente();
    //EntityManagerFactory emf = Persistence.createEntityManagerFactory("SwindlerBank");
    /*public void pruebaCliente()
    {
        cli.setDocumentacion("12345678U");
        cli.setNombreCliente("Jose Luis Angulo Muñoz");

        this.persist(cli);
    }*/

    public void crearClienteBD(String DNI, String Nombre, String NCC)
    {
	Collection<Cliente> retVal = new ArrayList<Cliente>(2);
	Cliente c = new Cliente();
	c.setDocumentacion(DNI);
    c.setNombreCliente(Nombre);

    Producto p = new Producto();
	p.setDSaldo(0);
    p.setNumeroProducto(NCC);

    retVal.add(c);

    persist(c);
   

    }

    //public void setUpDB() {
      //  for (Cliente c: createClientes()) {
          //  persist(c);
        //    }
        //}

     public List getData() {
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("BancoPU");
        return emf.createEntityManager().createQuery("SELECT c FROM Cliente c").getResultList();
        }

    public void persist(Object object) {
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("BancoPU");
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();
        try {
            em.persist(object);
            Cliente c = (Cliente) object;
            List<Producto> p = new ArrayList();
            p = c.getMProducto();

            Iterator iterador = p.listIterator();

            while( iterador.hasNext() ) {
                Producto paux = (Producto) iterador.next();
                em.persist(paux);
                }

            em.getTransaction().commit();
        } catch (Exception e) {
            e.printStackTrace();
            em.getTransaction().rollback();
        } finally {
            em.close();
        }
    }

    

}
