package daial;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;


// <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
// #[regen=yes,id=DCE.933FC6E7-3BD8-7342-F6AD-E14D75F14429]
// </editor-fold> 
public class Caja {

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.74C07EC2-5E6A-7D06-FEB1-5BC9F9414106]
    // </editor-fold> 
    private ArrayList<Arqueo> mArqueo;

    private String nombre;

    private double saldo;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.4B8DFE26-694F-8E45-DF6E-A1477B92A85F]
    // </editor-fold> 
    public Caja (String nom) {
        mArqueo = new ArrayList();
        nombre = nom;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.1B69387D-F6AB-C7C4-94AA-4B385B1B6F2E]
    // </editor-fold> 
    public ArrayList<Arqueo> getArqueo () {
        return mArqueo;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.51513E44-56BC-5EBE-3E97-878F13FFF5BC]
    // </editor-fold> 
    public void setArqueo (ArrayList<Arqueo> val) {
        mArqueo = val;
    }

    /**
     * @return the saldo
     */
    public double getSaldo() {
        return saldo;
    }

    /**
     * @param saldo the saldo to set
     */
    public void setSaldo(double saldo) {
        this.saldo = saldo;
    }

    public void anadirArqueo(Arqueo arq)
    {
        mArqueo.add(arq);
    }

    public void anadirOpBasica(OPBasica opb)
    {
        mArqueo.get(mArqueo.size()-1).anadirOpBasica(opb);

        if(opb.getConcepto().equals("Ingreso en efectivo"))
        {
            saldo += opb.getImporte();
        }else
        {
            saldo -= opb.getImporte();
        }
    }

    @Override
    public String toString(){
        return getNombre();
    }

    /**
     * @return the nombre
     */
    public String getNombre() {
        return nombre;
    }

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


//    public Arqueo buscarArqueo(Date dia){
//
//        boolean encontrado = false;
//        Iterator<Arqueo> it=mArqueo.iterator();
//        Arqueo arq = null;
//
//        while(!encontrado && it.hasNext())
//        {
//            arq = (Arqueo) it.next();
//            if(arq.getFecha().getDay() == dia.getDay() && arq.getFecha().getMonth() == dia.getMonth() && arq.getFecha().getYear() == dia.getYear())
//                encontrado = true;
//            else
//                it.next();
//        }
//
//        return arq;
//    }
}

