//[Authorize(Roles = "Paciente")]
        public IActionResult ListarPorPaciente()
        {
            try
            {
                int usuarioId = Convert.ToInt32(HttpContext.User.Claims.First(c => c.Type == JwtRegisteredClaimNames.Jti).Value);

                Pacientes pacienteProcurado = PacienteRepository.BuscarPacientePorIdUsuario(usuarioId);

                if (pacienteProcurado == null)
                {
                    return(NotFound(new
                    {
                        mensagem = "Paciente não encontrado em nosso banco de dados."
                    }));
                }

                return(Ok(ConsultaRepository.ListarPorIdPaciente(pacienteProcurado.Id)));
            }
            catch (Exception ex)
            {
                return(BadRequest(new
                {
                    mensagem = "Erro: " + ex
                }));
            }
        }
Example #2
0
        public IActionResult ListarPorPaciente()
        {
            try
            {
                int usuarioId = Convert.ToInt32(HttpContext.User.Claims.First(c => c.Type == JwtRegisteredClaimNames.Jti).Value);

                Pacientes pacienteProcurado = PacienteRepository.BuscarPacientePorIdUsuario(usuarioId);

                if (pacienteProcurado == null)
                {
                    return(NotFound());
                }

                return(Ok(ConsultaRepository.ListarPorIdPaciente(pacienteProcurado.Id)));
            }
            catch
            {
                return(BadRequest());
            }
        }
        public IActionResult ListarConsultaLocalizacaoLogado()
        {
            try
            {
                int    usuarioId   = Convert.ToInt32(HttpContext.User.Claims.First(c => c.Type == JwtRegisteredClaimNames.Jti).Value);
                string usuarioTipo = HttpContext.User.Claims.First(c => c.Type == ClaimTypes.Role).Value.ToString();

                if (usuarioTipo == "Médico")
                {
                    Medicos medicoProcurado = MedicoRepository.BuscarMedicoPorIdUsuario(usuarioId);
                    return(Ok(ConsultaRepository.ListarConsultasLocalidadePorMedico(medicoProcurado)));
                }
                else if (usuarioTipo == "Paciente")
                {
                    Pacientes pacienteProcurado = PacienteRepository.BuscarPacientePorIdUsuario(usuarioId);
                    return(Ok(ConsultaRepository.ListarConsultasLocalidadePorPaciente(pacienteProcurado)));
                }
                else if (usuarioTipo == "Administrador")
                {
                    return(Ok(ConsultaRepository.ListarConsultasLocalidade()));
                }
                else
                {
                    return(BadRequest(new
                    {
                        mensagem = "Não foi possível listar, verifique se está logado como paciente, médico ou administrador."
                    }));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(new
                {
                    mensagem = ex
                }));
            }
        }