public function obterCliente($where = null, $array = false) { $wSql = array(); try { $sql = "SELECT pessoa.id as pessoa_id, pessoa.nome, pessoa.idade, pessoa.data_nascimento," . "pessoa.cpf, pessoa.rg, pessoa.nome_mae, pessoa.sexo, pessoa.telefone," . "pessoa.celular, pessoa.email, pessoa.endereco, pessoa.cidade_id," . "pessoa.bairro, cliente.id, cliente.senha FROM cliente " . "INNER JOIN pessoa ON (cliente.pessoa_id = pessoa.id) "; if ($where == null) { $result = $this->database()->fetchRowMany($sql); } else { if (array_key_exists('email', $where)) { array_push($wSql, "email = :email"); } if (array_key_exists('senha', $where)) { array_push($wSql, "senha = :senha"); } if (array_key_exists('id', $where)) { array_push($wSql, "cliente.id = :id"); } if (array_key_exists('nome', $where)) { array_push($wSql, "nome = :nome"); } if (array_key_exists('cpf', $where)) { array_push($wSql, "cpf = :cpf"); } if (count($wSql) >= 1) { $wWher = " WHERE " . implode(" AND ", $wSql); $sql .= $wWher; } $result = $this->database()->fetchRow($sql, $where); } if ($array) { return $result; } elseif ($result) { $cliente = new Cliente(); $cliente->setId($result['id']); $cliente->setNome($result['nome']); $cliente->setIdade($result['idade']); $cliente->setData_nascimento($result['data_nascimento']); $cliente->setCpf($result['cpf']); $cliente->setRg($result['rg']); $cliente->setNome_mae($result['nome_mae']); $cliente->setSexo($result['sexo']); $cliente->setTelefone($result['telefone']); $cliente->setCelular($result['celular']); $cliente->setEmail($result['email']); $cliente->setEndereco($result['endereco']); $cliente->setCidade_id($result['cidade_id']); $cliente->setSenha($result['senha']); return $cliente; } else { return false; } } catch (\Simplon\Mysql\MysqlException $ex) { return $ex->getMessage(); } }
function salvarCliente() { $cliente = new Cliente(); $erro = ''; if ($this->getPost('id')) { $cliente->setId($this->getPost('id')); } $cliente->setNome($this->getPost('nome')); $cliente->setIdade($this->getPost('idade')); $sexo = $this->getPost('sexo') == 'Masculino' ? 'M' : 'F'; $cliente->setSexo($sexo); $cliente->setData_nascimento($this->getPost('data_nascimento')); $cliente->setNome_mae($this->getPost('nome_mae')); $cpf = $this->getPost('cpf'); // if (!Utils::validaCPF($cpf)) { // $erro .= "CPF inválido."; // } else { $cliente->setCpf($cpf); // } $cliente->setRg($this->getPost('rg')); $email = $this->getPost('email'); // if (!$this->getPost('id') && $this->emailExist($email)) { // $erro .= "E-mail já esta sendo utilizado."; // } else { $cliente->setEmail($email); // } $cliente->setCelular($this->getPost('celular')); $cliente->setTelefone($this->getPost('telefone')); if ($this->getPost('cidade_id') == "0") { $erro .= "Cidade deve ser informada."; } $cliente->setSenha($this->getPost('senha')); $cliente->setCidade_id($this->getPost('cidade_id')); $cliente->setBairro($this->getPost('bairro')); $cliente->setEndereco($this->getPost('endereco')); $clienteS = serialize($cliente); if (strlen($erro) > 0) { $this->redirect($this->UrlBuilder()->doAction('cliente', array('errorMsg' => $erro, 'adicionar' => true, 'clienteS' => $clienteS))); } $clienteDao = new ClienteDao($cliente); if ($this->getPost('id')) { if ($clienteDao->editar(array('id' => $this->getPost('id')))) { $successMsg = "Cliente atualizada com sucesso!"; if (SessionHandler::checkSession('usuario')) { $this->redirect($this->UrlBuilder()->doAction('cliente', array('admin' => TRUE, 'successMsg' => $successMsg))); } $this->redirect($this->UrlBuilder()->doAction('cliente', array('successMsg' => $successMsg))); } else { $errorMsg = "Cliente não pode ser salvo!"; $this->redirect($this->UrlBuilder()->doAction('cliente', array('adicionar' => true, 'errorMsg' => $clienteDao->getErro(), 'clienteS' => $clienteS))); } } else { if ($idcliente = $clienteDao->salvar()) { if (SessionHandler::checkSession('usuario')) { $successMsg = "Cliente salvo com sucesso!"; $this->redirect($this->UrlBuilder()->doAction('cliente', array('successMsg' => $successMsg))); } $successMsg = "Cliente salvo com sucesso!"; $where = array('id' => $idcliente); $clienteDao = new ClienteDao(); $cliente = $clienteDao->obterCliente($where); if ($cliente instanceof Cliente) { $session = array('senha' => $cliente->getSenha(), 'email' => $cliente->getEmail()); } SessionHandler::createSession('cliente', $session); $this->redirect($this->UrlBuilder()->doAction('index')); } else { if (SessionHandler::checkSession('usuario')) { $errorMsg = "Problemas ao salvar cliente!"; $this->redirect($this->UrlBuilder()->doAction('cliente', array('errorMsg' => $errorMsg))); } $errorMsg = "Cliente não pode ser salvo!"; $this->redirect($this->UrlBuilder()->doAction('index')); } } }