package imc;

import java.io.Serializable;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Date;

public class Clinica implements Serializable {
	
	private static final long serialVersionUID = 1L;
	
	private String nomeClinica = "Clinica ADS";
	
	private String nome;
	private Paciente selecionado;

	private ArrayList<Paciente> pacientes = new ArrayList<Paciente>();
	
	public Clinica(String nomeClinica) {
		this.nomeClinica = nomeClinica;
		pacientes = new ArrayList<Paciente>();
	}
	
	public Clinica() {
		// TODO Auto-generated constructor stub
	}

	public void retira(Paciente paciente) {
		if (paciente != null) {
			pacientes.remove(paciente);
		}
	}
	
	public String getNomeClinica() {
		return nomeClinica;
	}

	public void add(Paciente paciente) {
		pacientes.add(paciente);
	}

	public Paciente getSelecionado() {
		return this.selecionado;
	}

	public String getNome() {
		return (selecionado != null ? selecionado.getNome() : "?");
	}

	public String getDtNascimento() throws ParseException {
		return (selecionado != null ? selecionado.getDtNascimento() : "?");
	}

	public String getDiagnostico() {
		return (selecionado != null ? selecionado.getImc().diagnostico() : "?");
	}

	public String getSexo() {
		return (selecionado != null ? selecionado.getSexo() + "" : "?");
	}

	public void paciente(int idPaciente) {
		selecionado = null;
		for (Paciente paciente : pacientes) {
			if (idPaciente == paciente.getId()) {
				selecionado = paciente;
				break;
			}
		}
	}
	
	public ArrayList<Paciente> getPacientes() {
		return pacientes;
	}
	
	public int pegaMaiorId() {
		int maior = 0;

		for (Paciente paciente : pacientes) {
			if (paciente.getId() > maior) {
				maior = paciente.getId();
			}
		}

		return maior;
	}

	public String getRelatorio() {
		String rel = "";
		for (Paciente paciente : pacientes) {
			rel += paciente + "\n";
		}
		return rel;
	}
}