
package encapsuladores;

import java.util.List;

public class CabeceraFactura {
        private int numeroFactura;   
        private java.util.Date fechaFactura;  
        private String NIFCliente;
        private String nombreCliente;
        private String direccionCliente;
        private String poblacionCliente;
        private final byte IVA = 21;     

    public int getNumeroFactura() {
        return numeroFactura;
    }

    public void setNumeroFactura(int numeroFactura) {
        this.numeroFactura = numeroFactura;
    }

    public java.util.Date getFechaFactura() {
        return fechaFactura;
    }

    public void setFechaFactura(java.util.Date fechaFactura) {
        this.fechaFactura = fechaFactura;
    }

    public String getNIFCliente() {
        return NIFCliente;
    }

    public void setNIFCliente(String NIFCliente) {
        this.NIFCliente = NIFCliente;
    }

    public String getNombreCliente() {
        return nombreCliente;
    }

    public void setNombreCliente(String nombreCliente) {
        this.nombreCliente = nombreCliente;
    }

    public String getDireccionCliente() {
        return direccionCliente;
    }

    public void setDireccionCliente(String direccionCliente) {
        this.direccionCliente = direccionCliente;
    }


    public String getPoblacionCliente() {
        return poblacionCliente;
    }

    public void setPoblacionCliente(String poblacionCliente) {
        this.poblacionCliente = poblacionCliente;
    }

    public byte getIVA() {
        return IVA;
    }

    public double getBrutoFactura(List<LineaFactura> listaLineasFactura) {
        double sumaImportes = 0.0;
        for (int i=0; i<listaLineasFactura.size(); i++){
            sumaImportes += (listaLineasFactura.get(i)).getImporteLinea();
        }
        
        return sumaImportes;
    }

    public double getImporteIVA(List<LineaFactura> listaLineasFactura) {
        return getBrutoFactura(listaLineasFactura) * ((double)getIVA() / 100);
    }

    public double getLiquidoFactura(List<LineaFactura> listaLineasFactura) {
        return getBrutoFactura(listaLineasFactura) * (1 + ((double)getIVA() / 100));
    }         
}
