package locadora;

import java.util.List;
import java.util.LinkedList;

public class Cliente {
	
	private String _nome;
	private List<Locacao> _locações = new LinkedList<Locacao>();

	public Cliente(String nome) {
		_nome = nome;
	}
	
	public void adicionarLocacao(Locacao arg) {
		_locações.add(arg);
	}

	public String getNome() {
		return _nome;
	}
	
	public String Conta() {
		double quantiaTotal = 0;
		int pontosLocadorFreqüente = 0;
		String resultado = "Registro de locação de " + getNome() + "\n";
		for (Locacao cada : _locações){
			double estaQuantia = 0;
			//determinar quantias para cada linha
			switch (cada.getFilme().getCódigoPreço()) {
			case Filme.NORMAL:
				estaQuantia +=2;
				if (cada.getDiasAlugados() > 2)
					estaQuantia += (cada.getDiasAlugados() - 2) * 1.5;
				break;
			case Filme.LANÇAMENTO:
				estaQuantia += cada.getDiasAlugados() * 3;
				break;
			case Filme.INFANTIL:
				estaQuantia += 1.5;
				if (cada.getDiasAlugados() >3)
					estaQuantia += (cada.getDiasAlugados() -3) *1.5;
				break;
			}// end switch
			
			// adicionar os pontos do locador freqüente
			pontosLocadorFreqüente++;
			//adicionar bônus para uma locação de lançamentos por dois dias
			if ((cada.getFilme().getCódigoPreço() == Filme.LANÇAMENTO) &&
					cada.getDiasAlugados() >1)
				pontosLocadorFreqüente++;
			//mostrar valores para esta locação
			resultado += "\t" + cada.getFilme().getTítulo() + "\t" +
					String.valueOf(estaQuantia) + "\n";
			quantiaTotal += estaQuantia;
		} // end for
		//adicionar linhas de rodapé;
		resultado += "O valor devido é " + String.valueOf(quantiaTotal)+ "\n";
		resultado += "Você ganhou " + String.valueOf(pontosLocadorFreqüente) +
			" pontos de locador freqüente";
		return resultado;
	} // end conta

}//end class 