package agilpizza.controlador.usuario;

import java.io.Serializable;

import agilpizza.controlador.pizzaria.PedidoControlador;
import agilpizza.controlador.util.JSFUtil;
import agilpizza.modelo.pizza.Endereco;

public class EnderecoControlador implements Serializable {
	private String nome;
	private String telefone;
	private String rua;
	private Integer numero;
	private String complemento;
	private String referencia;
	private String bairro;
	private String cep;
	private String pagamento;
	
	public EnderecoControlador() {
	
	}
	
	public String gravaEndereco() {
		UsuarioControlador u = (UsuarioControlador)JSFUtil.pegarBean("usuarioControlador");
		PedidoControlador p = (PedidoControlador)JSFUtil.pegarBean("pedidoControlador");
		Endereco cliente = new Endereco();
	
		cliente.rua = this.rua;
		cliente.numero = this.numero;
		cliente.complemento = this.complemento;
		cliente.bairro = this.bairro;
		cliente.cep = this.cep;
		cliente.nome = this.nome;
		cliente.telefone = this.telefone;
		cliente.referencia = this.referencia;
		cliente.pagamento = this.pagamento;
		u.put(cliente.telefone,cliente);
		p.adicionaEnderecoAoPedido(cliente);
		return "mostraEndereco";
	}

	public String enviaTelefone() {
		Boolean cadastrado; 
		UsuarioControlador u = (UsuarioControlador)JSFUtil.pegarBean("usuarioControlador");
		PedidoControlador p = (PedidoControlador)JSFUtil.pegarBean("pedidoControlador");				
		if (u.get(this.telefone) == null) 
	    	cadastrado = false;
	    else 
	    	cadastrado = true; 
		
		if (cadastrado == false ){
			return "cadastraEndereco";
		}
	    else {
	       	this.rua = u.get(this.telefone).rua;
			this.numero = u.get(this.telefone).numero;
			this.complemento = u.get(this.telefone).complemento;
			this.bairro = u.get(this.telefone).bairro;
			this.cep = u.get(this.telefone).cep;
			this.nome = u.get(this.telefone).nome;
			this.referencia = u.get(this.telefone).referencia;
			try{
				Endereco cliente = new Endereco();
				cliente = (Endereco)this.clone();
				p.adicionaEnderecoAoPedido(cliente);
			} catch ( Exception erro ) { }
			return "mostraEndereco";
	    }
 
	}
	
	
	public String mostraEndereco() {
		return "mostraEndereco";
	}

	public String getBairro() {
		return bairro;
	}

	public void setBairro(String bairro) {
		this.bairro = bairro;
	}

	public String getCep() {
		return cep;
	}

	public void setCep(String cep) {
		this.cep = cep;
	}

	public String getComplemento() {
		return complemento;
	}

	public void setComplemento(String complemento) {
		this.complemento = complemento;
	}

	public Integer getNumero() {
		return numero;
	}

	public void setNumero(Integer numero) {
		this.numero = numero;
	}

	public String getRua() {
		return rua;
	}

	public void setRua(String rua) {
		this.rua = rua;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getTelefone() {
		return telefone;
	}

	public void setTelefone(String telefone) {
		this.telefone = telefone;
	}

	public String getReferencia() {
		return referencia;
	}

	public void setReferencia(String referencia) {
		this.referencia = referencia;
	}

	public String getPagamento() {
		return pagamento;
	}

	public void setPagamento(String pagamento) {
		this.pagamento = pagamento;
	}
	
}
