/** * @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()}"); } }