<?php
class EnderecoDAO {
    private $banco;
    private $auditoria;
    
    private static $tabela = "enderecos";
    private static $sequencia = "idEndereco";
    
    
    public function __construct($tipo = "", $id = "") {
        $this->banco = new Banco();
        return true;
    }
    public function insere(Endereco $objeto){
        $valores = array();
        $valores["CEP"]         = $objeto->getCEP();
        $valores["logradouro"]  = $objeto->getLogradouro();
        $valores["numero"]      = $objeto->getNumero();
        $valores["bairro"]      = $objeto->getBairro();
        $valores["cidade"]      = $objeto->getCidade();
        $valores["UF"]          = $objeto->getUF();
        $valores["complemento"] = $objeto->getComplemento();

        $insere = $this->banco->insere(self::$tabela, $valores, self::$sequencia);

        return $insere;
    }
    
    public function alterar(Endereco $objEndereco, $idEndereco){
        $dados = array();

        $dados["CEP"] = $objEndereco->getCEP();
        $dados["logradouro"] = $objEndereco->getLogradouro();
        $dados["numero"] = $objEndereco->getNumero();
        $dados["bairro"] = $objEndereco->getBairro();
        $dados["cidade"] = $objEndereco->getCidade();
        $dados["UF"] = $objEndereco->getUF();
        $dados["complemento"] = $objEndereco->getComplemento();

        $alterar = $this->banco->alterar(self::$tabela, $dados, self::$sequencia, $idEndereco);

        if($alterar)    return true; else return false;    
    }
    
    public function buscar($campos, $param = array()){
        $busca = $this->banco->buscar(self::$tabela, $campos, $param);
        $retorno = self::montarObjeto($busca);
        
        return $retorno;
    }
    
    public function montarObjeto($linha = array()){
        foreach($linha as $ch=>$vl){
                $Endereco[$ch] = new Endereco($vl["idEndereco"]);
                $Endereco[$ch]->setBairro($vl["Bairro"]);
                $Endereco[$ch]->setCEP($vl["CEP"]);
                $Endereco[$ch]->setCidade($vl["Cidade"]);
                $Endereco[$ch]->setComplemento($vl["Complemento"]);
                $Endereco[$ch]->setLogradouro($vl["Logradouro"]);
                $Endereco[$ch]->setNumero($vl["Numero"]);
                $Endereco[$ch]->setUF($vl["UF"]);
        }

        return $Endereco;
    }
        
}

?>
