package sac.gui.bean;

import sac.pessoa.fisica.PessoaFisica;
import java.util.Vector;
import java.util.List;
import java.beans.*;

/**
 * Classe que representa elementos de login do usuario.
 *
 * @author  Esrb, Fcan, Mrl, Rtr
 */
public class CadastroPFBean extends Object implements java.io.Serializable {


/// Ajeitar comentario, estah copy paste

    private  String  nome;
    private  String  cpf;
    private  String  senha;
    private  String  endereco;
    private  String  bairro;
    private  String  cidade;
    private  String  estado;
    private  String  pais;
    private  String  cep;
    private  String  telefone;
    private  String  email;
    private  String  historico;
    private  String  curriculum;
    private  String  preenchimento;
    private  String  erroCpf;
    private  String  erroCadastro;
    private String erroPersistencia;
    private String erroSenha;
    private String[] todas_doencasID;
    private String[] todas_doencas;
    private String[] todos_servicos;
    private String operation;
    private java.util.List servicos;
    private java.util.List doencas;

    /**
     * Construtor
     */
    public CadastroPFBean() {
      nome = "";
      cpf = "";
      senha = "";
      endereco = "";
      bairro = "";
      cidade = "";
      estado = "";
      pais = "";
      cep = "";
      telefone = "";
      email = "";
      historico = "";
      curriculum = "";
      preenchimento = "";
      erroCpf = "";
      erroCadastro = "";
      erroPersistencia = "";
      erroSenha = "";
      servicos = new Vector();
      doencas = new Vector();

      todas_doencasID = new String[0];
      todas_doencas = new String[0];
      todos_servicos = new String[0];
    }

    /**
     *  Contrutor que jah preenche o bean com todos os dados de uma pessoa física
     *
     *  @param pessoa Pessoa que ira preencher o bean.
     */
    public CadastroPFBean(PessoaFisica pessoa) {
      nome = pessoa.getNome();
      cpf = pessoa.getCpf();
      senha = pessoa.getSenha();
      endereco = pessoa.getEndereco().getRua();
      bairro = pessoa.getEndereco().getBairro();
      cidade = pessoa.getEndereco().getCidade();
      estado = pessoa.getEndereco().getEstado();
      pais = pessoa.getEndereco().getPais();
      cep = pessoa.getEndereco().getCep();
      telefone = pessoa.getEndereco().getTelefone();
      email = pessoa.getEndereco().getEmail();
      historico = pessoa.getDescricaoAtividades();
      curriculum = "";
      preenchimento = "";
      erroCpf = "";
      erroCadastro = "";
      erroPersistencia = "";
      erroSenha = "";
      servicos = pessoa.getTiposServicos();
      doencas = pessoa.getDoencas();

      todas_doencasID = new String[0];
      todas_doencas = new String[0];
      todos_servicos = new String[0];
    }

    /**
     * Método que retorna o nome do usuario na sessão
     *
     * @return login	String contendo login do usuario
     */
	public String getNome(){
		return nome;
     }

    /**
     * Método que retorna o cpf do usuario na sessão
     *
     * @return login	String contendo login do usuario
     */
	public String getCpf(){
		return cpf;
     }

    /**
     * Método que retorna o login do usuario na sessão
     *
     * @return login	String contendo login do usuario
     */
	public String getSenha(){
		return senha;
     }

    /**
     * Método que retorna o login do usuario na sessão
     *
     * @return login	String contendo login do usuario
     */
	public String getEndereco(){
		return endereco;
     }

    /**
     * Método que retorna o login do usuario na sessão
     *
     * @return login	String contendo login do usuario
     */
	public String getBairro(){
		return bairro;
     }

    /**
     * Método que retorna o login do usuario na sessão
     *
     * @return login	String contendo login do usuario
     */
	public String getCidade(){
		return cidade;
     }

    /**
     * Método que retorna o login do usuario na sessão
     *
     * @return login	String contendo login do usuario
     */
	public String getEstado(){
		return estado;
     }

    /**
     * Método que retorna o login do usuario na sessão
     *
     * @return login	String contendo login do usuario
     */
	public String getPais(){
		return pais;
     }

    /**
     * Método que retorna o login do usuario na sessão
     *
     * @return login	String contendo login do usuario
     */
	public String getCep(){
		return cep;
     }

    /**
     * Método que retorna o login do usuario na sessão
     *
     * @return login	String contendo login do usuario
     */
	public String getTelefone(){
		return telefone;
     }

    /**
     * Método que retorna o login do usuario na sessão
     *
     * @return login	String contendo login do usuario
     */
	public String getEmail(){
		return email;
     }

    /**
     * Método que retorna o login do usuario na sessão
     *
     * @return login	String contendo login do usuario
     */
	public java.util.List getServicos(){
		return servicos;
     }

    /**
     * Método que retorna o login do usuario na sessão
     *
     * @return login	String contendo login do usuario
     */
	public String getHistorico(){
		return historico;
     }

    /**
     * Método que retorna o login do usuario na sessão
     *
     * @return login	String contendo login do usuario
     */
	public String getCurriculum(){
		return curriculum;
     }

    /**
     * Método que retorna o login do usuario na sessão
     *
     * @return login	String contendo login do usuario
     */
	public java.util.List getDoencas(){
		return doencas;
     }

    /**
     * Método que retorna o login do usuario na sessão
     *
     * @return login	String contendo login do usuario
     */
	public String getPreenchimento(){
		return preenchimento;
     }

    /**
     * Método que retorna o login do usuario na sessão
     *
     * @return login	String contendo login do usuario
     */
	public String getErroCpf(){
		return erroCpf;
     }

    /**
     * Método que retorna o login do usuario na sessão
     *
     * @return login	String contendo login do usuario
     */
	public String getErroCadastro(){
		return erroCadastro;
     }

    /**
     * Método que configura mensagem de erro no banco.
     *
     * @param erroPersistencia		String contendo mensagem
     */
	public void setNome(String nome){
		this.nome = nome;
     }

    /**
     * Método que configura mensagem de erro no banco.
     *
     * @param erroPersistencia		String contendo mensagem
     */
	public void setCpf(String cpf){
		this.cpf = cpf;
     }

    /**
     * Método que configura mensagem de erro no banco.
     *
     * @param erroPersistencia		String contendo mensagem
     */
	public void setSenha(String senha){
		this.senha = senha;
     }

    /**
     * Método que configura mensagem de erro no banco.
     *
     * @param erroPersistencia		String contendo mensagem
     */
	public void setEndereco(String endereco){
		this.endereco = endereco;
     }


    /**
     * Método que configura mensagem de erro no banco.
     *
     * @param erroPersistencia		String contendo mensagem
     */
	public void setBairro(String bairro){
		this.bairro = bairro;
     }

    /**
     * Método que configura mensagem de erro no banco.
     *
     * @param erroPersistencia		String contendo mensagem
     */
	public void setCidade(String cidade){
		this.cidade = cidade;
     }

    /**
     * Método que configura mensagem de erro no banco.
     *
     * @param erroPersistencia		String contendo mensagem
     */
	public void setEstado(String estado){
		this.estado =  estado;
     }

    /**
     * Método que configura mensagem de erro no banco.
     *
     * @param erroPersistencia		String contendo mensagem
     */
	public void setPais(String pais){
		this.pais = pais;
     }

    /**
     * Método que configura mensagem de erro no banco.
     *
     * @param erroPersistencia		String contendo mensagem
     */
	public void setCep(String  cep){
		this.cep = cep;
     }

    /**
     * Método que configura mensagem de erro no banco.
     *
     * @param erroPersistencia		String contendo mensagem
     */
	public void setTelefone(String telefone){
		this.telefone =  telefone;
     }

    /**
     * Método que configura mensagem de erro no banco.
     *
     * @param erroPersistencia		String contendo mensagem
     */
	public void setEmail(String email){
		this.email = email;
     }

	public void setServicos(java.util.List newServicos) {
		this.servicos = servicos;
     }

	public void setHistorico(String historico){
		this.historico = historico;
     }

	public void setCurriculum(String curriculum){
		this.curriculum = curriculum;
     }

	public void setDoencas(java.util.List newDoencas){
		this.doencas =  doencas;
     }

	public void setPreenchimento(String preenchimento){
		this.preenchimento = preenchimento;
     }
	public void setErroCpf(String erroCpf){
		this.erroCpf = erroCpf;
     }

	public void setErroCadastro(String erroCadastro){
		this.erroCadastro = erroCadastro;
     }
      public void setErroPersistencia(String erroPersistencia) {
        this.erroPersistencia = erroPersistencia;
      }
      public String getErroPersistencia() {
        return erroPersistencia;
      }
      public void setErroSenha(String erroSenha) {
        this.erroSenha = erroSenha;
      }
      public String getErroSenha() {
        return erroSenha;
      }
      public String[] getTodas_doencasID() {
    return todas_doencasID;
      }
      public void setTodas_doencasID(String[] todas_doencasID) {
    this.todas_doencasID = todas_doencasID;
      }
  public void setTodas_doencas(String[] todas_doencas) {
    this.todas_doencas = todas_doencas;
  }
  public String[] getTodas_doencas() {
    return todas_doencas;
  }
  public void setTodos_servicos(String[] todos_servicos) {
    this.todos_servicos = todos_servicos;
  }
  public String[] getTodos_servicos() {
    return todos_servicos;
  }
  public void setOperation(String operation) {
    this.operation = operation;
  }
  public String getOperation() {
    return operation;
  }


  /**
   *
   */
  public static void main(String[] args) {
  CadastroPFBean  cadastroPF = new CadastroPFBean();
  java.io.PrintStream  out = System.out;

        String[] servicos = cadastroPF.getTodos_servicos();
    List servicos_selecionados = cadastroPF.getServicos();

	for ( int i=0; i < servicos.length; i++ ) {
    	out.println(" <option"+  ((servicos_selecionados.contains(servicos[i]))? "selected" : "") + "value='"+servicos[i]+"' >"+
    			 servicos[i] + "</option>");
	}

    String[] doencas = cadastroPF.getTodas_doencas();
    String[] doencasID = cadastroPF.getTodas_doencasID();

    List doencasID_selecionados = cadastroPF.getDoencas();

	for ( int i=0; i < doencas.length; i++ ) {
    	out.println(" <option"+  ((doencasID_selecionados.contains(doencasID[i]))? "selected" : "") + "value='"+doencasID[i]+"' >"+
    				 doencas [i] + "</option>");
	}

  }
}
