public function persist(AbstractCliente $cliente)
 {
     $stmt = $this->conn->prepare("INSERT INTO Cliente (tipo, status) VALUES\n                                    (:tipo, :status)");
     $stmt->bindParam(':tipo', $tipo);
     $stmt->bindParam(':status', $status);
     $tipo = $cliente->getTipo();
     $status = $cliente->getStatus();
     $stmt->execute();
     $cliente->setCodigo($this->getLastId());
     if ($cliente->getTipo() == IPessoaFisica::TIPO_PF) {
         $FixturePF = new PessoaFisica($this->conn);
         $FixturePF->persist($cliente);
     } elseif ($cliente->getTipo() == IPessoaJuridica::TIPO_PJ) {
         $FixturePJ = new PessoaJuridica($this->conn);
         $FixturePJ->persist($cliente);
     }
 }
 public function flush()
 {
     foreach ($this->clientes as $cliente) {
         $stmt = $this->conn->prepare("INSERT INTO Cliente (tipo, status) VALUES (:tipo, :status)");
         $stmt->bindParam(':tipo', $tipo);
         $stmt->bindParam(':status', $status);
         $tipo = $cliente->getTipo();
         $status = $cliente->getStatus();
         $stmt->execute();
         $cliente->setCodigo($this->getLastId());
         if ($cliente instanceof IPessoaFisica) {
             $FixturePF = new PessoaFisica($this->conn);
             $FixturePF->persist($cliente);
         } else {
             $FixturePJ = new PessoaJuridica($this->conn);
             $FixturePJ->persist($cliente);
         }
     }
 }