<?php
 
// namespace de localizacao do nosso model
namespace Cliente\Model;
 
// import Zend\Db
use Zend\Db\TableGateway\TableGateway;
 
class ClienteTable
{
    protected $tableGateway;
 
    /**
     * Contrutor com dependencia do Adapter do Banco
     * 
     * @param \Zend\Db\Adapter\Adapter $adapter
     */
    public function __construct(TableGateway $tableGateway)
    {
        $this->tableGateway = $tableGateway;
    }
 
    /**
     * Recuperar todos os elementos da tabela contatos
     * 
     * @return ResultSet
     */
    public function fetchAll()
    {
        return $this->tableGateway->select();
    }
 
    /**
     * Localizar linha especifico pelo id da tabela contatos
     * 
     * @param type $id
     * @return \Model\Cleinte
     * @throws \Exception
     */
    public function find($id)
    {
        $id  = (int) $id;
        $rowset = $this->tableGateway->select(array('id' => $id));
        $row = $rowset->current();
        if (!$row){
            throw new \Exception("Não foi encontrado cliente de id = {$id}");
        }
        return $row;
    }
    
    public function addCliente(Array $params = array())
    {
        $postData = //array(
            //'nome'         => $cliente->nome,
            //'telefone'     => $cliente->telefone,
            //'ruaNum'       => $cliente->ruaNum,
            //'bairro'       => $cliente->bairro,
            //'dica'         => $cliente->dica,
            //'data_criacao' => $cliente->data_criacao
            $params;
       //);
        return $this->tableGateway->insert($postData);
    }
    
    public function up($id)
    {

    }
    
    public function dell($id)
    {
        
    }
}
