package src;

import java.util.ArrayList; 
import java.util.Date;
import java.util.Random;

/**
 *
 * @author Daniel
 */

// <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
// #[regen=yes,id=DCE.51AEFE92-D4FA-C1EA-E38A-FCC515602734]
// </editor-fold> 
public class Cuentas {
    
   
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.E20E5678-F485-EFA2-AEFF-E0FA1668B308]
    // </editor-fold> 
    private String numero_cuenta;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.9F63DC22-9D9A-7875-95BA-B7AD64957F1D]
    // </editor-fold> 
    private String id_cliente;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.2FE3FB86-5829-EB94-D507-E95FEB500F3D]
    // </editor-fold> 
    private Date fecha;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.8CD295A5-CA7A-65D6-A4AA-BD2C621757FE]
    // </editor-fold> 
    private float saldo_cuenta;


    private String nombre_cliente;

    private ArrayList<Movimientos> mMovimiento;
    private ArrayList<Domiciliaciones> mDomiciliaciones;    
    private String mensaje;
    private float importe;
    private int tipoCuenta;
    /*
     1 Libreta ahorro
     2 Cuenta corriente
     3 Prestamo Personal
     4 Prestamo Hipotecario
     */


    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.659AA7E1-ABF1-2CC6-ABE3-3F40D1105CDF]
    // </editor-fold> 
    public Cuentas () {
        mMovimiento=new ArrayList();
        mDomiciliaciones=new ArrayList();        
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.6DC4B1C9-389C-88E7-016C-8854EA0994B2]
    // </editor-fold> 
    public Date getFecha () {
        return fecha;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.BE9BE240-4DF6-01C2-68FD-D35D3E5CEA01]
    // </editor-fold> 
    public void setFecha (Date val) {
        this.fecha = val;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.ED47FDFA-6BC6-DB41-F054-74B66D7430F3]
    // </editor-fold> 
    public String getId_cliente () {
        return id_cliente;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.4E47ADC0-6C33-0D98-FD01-DD31FD635C72]
    // </editor-fold> 
    public void setId_cliente (String val) {
        this.id_cliente = val;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.627188A7-51CF-372B-77EA-F8E1A084BE38]
    // </editor-fold> 
    public String getnumero_cuenta () {
        return numero_cuenta;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.CE74987F-03F9-E0F8-9499-1B622C36505B]
    // </editor-fold> 
    public void setnumero_cuenta (String val) {
        this.numero_cuenta = val;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.D4FBF89B-4B81-1BF8-115E-43898AFC3E83]
    // </editor-fold> 
    public float getSaldo_cuenta () {
        return saldo_cuenta;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.F9C2EB0D-84E1-F298-0716-8BCAF1FEEB45]
    // </editor-fold> 
    public void setSaldo_cuenta (float val) {
        this.saldo_cuenta = val;
    }
    public int gettipoCuenta () {
        return tipoCuenta;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
    // #[regen=yes,regenBody=yes,id=DCE.F9C2EB0D-84E1-F298-0716-8BCAF1FEEB45]
    // </editor-fold>
    public void settipoCuenta (int tipoCuenta) {
        this.tipoCuenta = tipoCuenta;
    }

    public ArrayList<Movimientos> getMovimiento () {
        return mMovimiento;
    }
    // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
    // #[regen=yes,regenBody=yes,id=DCE.2F80F874-1611-679F-AE72-CCCF584A7293]
    // </editor-fold>
    public void setMovimiento (ArrayList<Movimientos> val) {
        this.mMovimiento = val;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
    // #[regen=yes,regenBody=yes,id=DCE.22A403A8-4669-00F5-1240-D9EECFFCF727]
    // </editor-fold>
    public String getNombre_cliente () {
        return nombre_cliente;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
    // #[regen=yes,regenBody=yes,id=DCE.32EC9838-A476-917C-DD01-3ABC835936C1]
    // </editor-fold>
    public void setNombre_cliente (String val) {
        this.nombre_cliente = val;
    }

    public void insertaDomiciliacionesCuenta(Domiciliaciones dom)
    {
        this.mDomiciliaciones.add(dom);
    }


    public void insertaMovimientoenCuenta(Movimientos mov){
        this.mMovimiento.add(mov);
    }


    /**
     * @return the mensaje
     */
    public String getMensaje() {
        return mensaje;
    }

    /**
     * @param mensaje the mensaje to set
     */
    public void setMensaje(String mensaje) {
        this.mensaje = mensaje;
    }

    /**
     * @return the importe
     */
    public float getImporte() {
        return importe;
    }

    /**
     * @param importe the importe to set
     */
    public void setImporte(float importe) {
        this.importe = importe;
    }
    public ArrayList<Domiciliaciones> getDomiciliaciones () {
            return mDomiciliaciones;
    }
    String setId_cliente() {
        return id_cliente;
    }


    //METODO QUE CREA LAS CUENTAS ALEATORIAMENTE (LOS DIEZ ULTIMOS NUMEROS)
    public String generaCuentas()
   {
        Random rnd = new Random();
        String ncuenta;
        ncuenta="2098400216";
        int x = 0;
        int[] p = new int[10]; //Arrays de enteros
        String[] l=new String[10];//Array de String

        for (int i = 0; i < 10; i++)
        {
        	x = (int)(rnd.nextDouble() * 10.0);
            p[i]=x;
    	}
        //El array p ya tiene los 10 numeros
         for (int k = 0; k < 10; k++)
         {
            //Paso el array de enteros a String
            l[k]= String.valueOf(p[k]);
         }
        //Le sumo al numero de cuenta a los numeros generados
        for (int m = 0; m < 10; m++)
        {
         ncuenta=ncuenta+l[m];
        }
        return ncuenta;

    }

    public void ComprobarExisteCuenta(Sucursal suc,String cta)
    {
        
        while(suc.devuelveCuentas(cta)!=null)
        {
            
            this.generaCuentas();
     
        }
      
    }

    

 
    

}
