public static function singleton() { if (!isset(self::$instance)) { self::$instance = new MapaErro(); self::$erros = array(1 => "Impossivel criar usuario.", 2 => "Usuário não encontrado.", 3 => "Percentil nao encontrado.", 4 => "Usuário já cadastrado.", 5 => "Entrevistado(a) já cadastrado(a).", 6 => "Nutricionista ja cadastrado(a).", 7 => "Não foi possível calcular IMC.", 8 => "Não foi possível encontrar anamnese.", 9 => "Problema ao inserir a anamnese.", 10 => "Problema ao inserir a pesquisa.", 11 => "Dados inconpletos.", LOGIN_INVALIDO => "Login inválido.", SENHA_INVALIDO => "Senha inválida.", PESO_INVALIDO => "Peso inválido.", ALTURA_INVALIDO => "Altura inválida.", NIVEL_ESPORTIVO_INVALIDO => "Nível esportivo inválido.", SEXO_INVALIDO => "Sexo inválido.", ID_PESQUISA_INVALIDO => "Código da Pesquisa inválida.", ID_NUTRICIONISTA_INVALIDO => "Código da Nutrionista inválido.", ID_ENTREVISTADO_INVALIDO => "Código do Entrevistado inválido.", ID_PERFIL_ALIMENTAR_INVALIDO => "Código Perfil Alimentar inválido.", TIPO_ENTREVISTADO_INVALIDO => "Código do tipo de entrevistado inválido.", DATA_INVALIDA => "Data inválida.", APIKEY_INVALIDA => "Autenticação inválida.", NECESSARIO_LOGIN => "É necessário realizar login do usuário."); } return self::$instance; }
/** * Descrição * @param $entrevistado * { * "peso" : *[1-9].*[1-9], * "altura" : *[1-9].*[1-9] * } * * @return @return $percentil HTTP-202 * { * "valor": *[1-9].*[1-9] * } */ function calcularIMC() { $request = \Slim\Slim::getInstance()->request(); $body = $request->getBody(); $entrevistado = json_decode($body); $peso = $entrevistado->peso; $altura = $entrevistado->altura; $valor = IMCController::calculaIMC($peso, $altura); if ($valor > 0) { // Enviar o IMC com seu valor. $imc = new Imc(); $imc->setValor($valor); echoRespnse(HTTP_ACEITO, $imc); } else { // Não foi possível calcular IMC. $erro = MapaErro::singleton()->getErro(7); echoRespnse(HTTP_REQUISICAO_INVALIDA, $erro); } }