public function validar() { $aMensagemErro = array(); if (empty($this->oAnimal->getNome())) { $aMensagemErro[] = "O campo Nome do animal é de preenchimento obrigatório."; } if (empty($this->oAnimal->getEspecie())) { $aMensagemErro[] = "O campo Espécie do animal é de preenchimento obrigatório."; } if (empty($this->oAnimal->getRaca())) { $aMensagemErro[] = "O campo Raça do animal é de preenchimento obrigatório."; } if (empty($this->oAnimal->getPelo())) { $aMensagemErro[] = "O campo Pelo do animal é de preenchimento obrigatório."; } if (empty($this->oAnimal->getPelagem())) { $aMensagemErro[] = "O campo Pèlagem do animal é de preenchimento obrigatório."; } if (empty($this->oAnimal->getPorte())) { $aMensagemErro[] = "O campo Porte do animal é de preenchimento obrigatório."; } if (!is_numeric($this->oAnimal->getPeso())) { $aMensagemErro[] = "O campo Peso deve ser preenchido com valor numérico."; } if ($this->oAnimal->getPeso() <= 0) { $aMensagemErro[] = "O campo Peso do animal é de preenchimento obrigatório e deve ser maior que zero."; } if (empty($this->sDataNascimento)) { $aMensagemErro[] = "O campo Nascimento do animal é de preenchimento obrigatório."; } $aDataNascimento = explode("-", $this->sDataNascimento); if (count($aDataNascimento) != 3 || !checkdate($aDataNascimento[1], $aDataNascimento[2], $aDataNascimento[0])) { $aMensagemErro[] = "O campo Nascimento deve ser uma data válida."; } else { $this->oAnimal->setNascimento(new DateTime($this->sDataNascimento)); } if (empty($this->sDataCadastro)) { $aMensagemErro[] = "O campo Cadastro do animal é de preenchimento obrigatório."; } $aDataCadastro = explode("-", $this->sDataCadastro); if (count($aDataCadastro) != 3 || !checkdate($aDataCadastro[1], $aDataCadastro[2], $aDataCadastro[0])) { $aMensagemErro[] = "O campo Cadastro deve ser uma data válida."; } else { $this->oAnimal->setCadastro(new DateTime($this->sDataCadastro)); } if (empty($this->oAnimal->getSexo())) { $aMensagemErro[] = "O campo Sexo do animal é de preenchimento obrigatório."; } if (!empty($aMensagemErro)) { throw new Exception(implode("<br>", $aMensagemErro)); } }
/** * @param $oStd * @return Model */ private function preencheAnimal($oStd) { $oAnimal = new Model(); $oAnimal->setCodigo($oStd->id); $oAnimal->setNome($oStd->nome); $oAnimal->setEspecie($oStd->especie); $oAnimal->setRaca($oStd->raca); $oAnimal->setPelo($oStd->pelo); $oAnimal->setPelagem($oStd->pelagem); $oAnimal->setPorte($oStd->porte); $oAnimal->setPeso($oStd->peso); $oAnimal->setNascimento(new DateTime($oStd->nascimento)); $oAnimal->setCadastro(new DateTime($oStd->cadastro)); $oAnimal->setCastrado($oStd->castrado); $oAnimal->setClientePacote($oStd->cliente_pacote); $oAnimal->setObservacoes($oStd->observacoes); $oAnimal->setSexo($oStd->sexo); return $oAnimal; }
public function editarPost() { if (!$this->getRequisicao()->isPost()) { $this->redireciona("/animal/editar/"); } $nPeso = Utils::stringToFloat($this->getRequisicao()->getPost('peso')); $oAnimal = new Model($this->getRequisicao()->getPost("id")); $oAnimal->setNome($this->getRequisicao()->getPost('nome')); $oAnimal->setEspecie($this->getRequisicao()->getPost('especie')); $oAnimal->setRaca($this->getRequisicao()->getPost('raca')); $oAnimal->setPelo($this->getRequisicao()->getPost('pelo')); $oAnimal->setPelagem($this->getRequisicao()->getPost('pelagem')); $oAnimal->setPorte($this->getRequisicao()->getPost('porte')); $oAnimal->setPeso($nPeso); $oAnimal->setObservacoes($this->getRequisicao()->getPost('observacoes')); $oAnimal->setSexo($this->getRequisicao()->getPost('sexo')); $oAnimal->setCastrado($this->getRequisicao()->isSetPost('castrado')); $oAnimal->setClientePacote($this->getRequisicao()->isSetPost('temPacote')); $oAnimal->setUsuario($this->getSessao()->getUsuarioLogado()->getCodigo()); $sDataNascimento = implode("-", array_reverse(explode("/", $this->getRequisicao()->getPost('nascimento')))); $sDataCadastro = implode("-", array_reverse(explode("/", $this->getRequisicao()->getPost('cadastro')))); try { $oValidador = new Validador(); $oValidador->setDados(array('animal' => $oAnimal, 'data_cadastro' => $sDataCadastro, 'data_nascimento' => $sDataNascimento)); $oValidador->validar(); $oAnimal->setCadastro(new DateTime($sDataCadastro)); $oAnimal->setNascimento(new DateTime($sDataNascimento)); if (empty($oAnimal->getCodigo())) { throw new Exception("Animal não identificado para a edição."); } if (!empty($aErroDatas)) { throw new Exception(implode("<br>", $aErroDatas)); } $oDao = new Entidade(); if (!$oDao->salvar($oAnimal)) { throw new Exception("Houve um erro ao tentar atualizar o animal. Contate suporte."); } $this->getSessao()->setMensagemSucesso("Animal atualizado com sucesso."); $this->redireciona("/animal/lista"); } catch (Exception $e) { $this->getSessao()->setObjeto("animal", $oAnimal); $this->getSessao()->setMensagemErro($e->getMessage()); $this->redireciona("/animal/editar/{$oAnimal->getCodigo()}"); } }