import java.util.*; // Agregado para la clase Properties
import java.io.*; // Agregado para Mostrar error por consola

public class Cliente  {
   
   private final String rut;
	private int clientType;
	private double descuento;
   private Vector<Producto> Compras = new Vector<Producto>();
	private Archivo ar = new Archivo();
	
	public Cliente()
	{ 
		descuento = 0;
		rut = null;
   }
	
	public Cliente(String cRut)
	{
	   rut = cRut;
		clientType = ar.leerCliente(rut);
		descuento = ar.leerDescuento(clientType);
	}
	
	public Cliente (String cRut, int cType)
	{
	   rut = cRut;
		clientType = cType;
		descuento = ar.leerDescuento(clientType);
	}
	
	public String getRut()
	{
	   return rut;
	}
	
	public void addProducto(Producto p)
	{
	   int indice = buscaProducto(p);  
		if(indice==0)
		   Compras.add(p);
		else
		{
		   Producto prod = Compras.get(indice-1);
			prod.setCantidad(p.getCantidad()+prod.getCantidad());
			Compras.set(indice-1, prod);
		}
	}
	
	public Vector<Producto> getProducto()
	{
	   return Compras;
	}
	
	public int buscaProducto(Producto p)
	{
	   int count = 0;  
		for(int i=0; i<Compras.size(); i++)
		   if(p.getTipo()==Compras.get(i).getTipo()) count = i+1;
		return count;
	}
	
	public void setType(int t)
	{
	   clientType = t;	
	}
	
	public int getType()
	{
	   return clientType;
	}
	
	public int getDescuentoTotal()
	{
	   return (int)(getPrecioTotal()*descuento);
	}
	
	public int getPrecioTotal()
	{
	   int total = 0;  
		for(int i=0; i<Compras.size(); i++)
		   total += Compras.get(i).getPrecio()*Compras.get(i).getCantidad();
		return total;
	}
	
	public int getPrecioFinal()
	{
	   return getPrecioTotal()-getDescuentoTotal();
	}
	
	public Vector<String> getTodosClientes(int t)
	{
	   Vector<String> tip = ar.leerClientes(t);
		return tip;
	}
	
}