示例#1
0
        public IActionResult GetConsultasDePaciente()
        {
            try
            {
                ProntuariosRepositorio prontuarioRep = new ProntuariosRepositorio();

                // Pega usuario logado
                int         prontuarioId = Convert.ToInt32(HttpContext.User.Claims.First(c => c.Type == JwtRegisteredClaimNames.Jti).Value);
                Prontuarios pacienteLog  = prontuarioRep.pacienteLogado(prontuarioId);

                if (pacienteLog == null)
                {
                    return(NotFound(new { mensagem = "Paciente não encontrado" }));
                }

                // Procura todas as consultas do paciente
                List <Consultas> consultasPaciente = ConsultasRepositorio.BuscarConsultasDePaciente(pacienteLog.Id);

                if (consultasPaciente == null)
                {
                    return(NotFound(new { mensagem = "Não foram encotradas consultas referentes a esse paciente." }));
                }
                else if (consultasPaciente.Count() == 0)
                {
                    return(Ok(new { mensagem = "Paciente não possui nenhuma consulta agendada." }));
                }

                return(Ok(consultasPaciente));
            }
            catch (Exception)
            {
                return(BadRequest());
            }
        }
示例#2
0
 public void Excluir(Prontuarios prontuario)
 {
     using (SpMedGroupContext ctx = new SpMedGroupContext())
     {
         ctx.Prontuarios.Remove(prontuario);
         ctx.SaveChanges();
     }
 }
示例#3
0
 public void Alterar(Prontuarios prontuario)
 {
     using (SpMedGroupContext ctx = new SpMedGroupContext())
     {
         ctx.Prontuarios.Update(prontuario);
         ctx.SaveChanges();
     }
 }
示例#4
0
 // Deleta um Prontuario
 public void Deletar(Prontuarios prontuario)
 {
     using (SpMedicalGroupContext ctx = new SpMedicalGroupContext())
     {
         ctx.Prontuarios.Remove(prontuario);
         ctx.SaveChanges();
     }
 }
示例#5
0
 // Cadastra um novo Prontuario
 public void Cadastrar(Prontuarios prontuarioRecebido)
 {
     using (SpMedicalGroupContext ctx = new SpMedicalGroupContext())
     {
         ctx.Prontuarios.Add(prontuarioRecebido);
         ctx.SaveChanges();
     }
 }
示例#6
0
 public void Cadastrar(Prontuarios prontuario)
 {
     using (SpmedgroupContext ctx = new SpmedgroupContext())
     {
         ctx.Prontuarios.Add(prontuario);
         ctx.SaveChanges();
     }
 }
示例#7
0
        public IActionResult BuscarPorId(int id)
        {
            Prontuarios prontuarioProcurado = ProntuarioRepository.BuscarPorId(id);

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

            return(Ok(prontuarioProcurado));
        }
示例#8
0
        //Busca paciente por usuario
        public Prontuarios pacienteLogado(int usuarioId)
        {
            Prontuarios pacienteLog = new Prontuarios();

            using (SpMedicalGroupContext ctx = new SpMedicalGroupContext())
            {
                pacienteLog = ctx.Prontuarios.ToList().Find(p => p.IdUsuario == usuarioId);
            }

            return(pacienteLog);
        }
示例#9
0
        // Busca um Prontuario especifico
        public Prontuarios BuscarProntuario(int prontuarioId)
        {
            Prontuarios prontuario = new Prontuarios();

            using (SpMedicalGroupContext ctx = new SpMedicalGroupContext())
            {
                prontuario = ctx.Prontuarios.Find(prontuarioId);
            }

            return(prontuario);
        }
示例#10
0
 public IActionResult CadastraProntuario(Prontuarios prontuario)
 {
     try
     {
         ProntuarioRepository.CadastrarProntuario(prontuario);
         return(Ok());
     }
     catch (Exception ex)
     {
         return(BadRequest(new { mensagem = ex.Message + "Deu Ruim :) " }));
     }
 }
示例#11
0
 public IActionResult Post(Prontuarios prontuario)
 {
     try
     {
         ProntuarioRepository.Cadastrar(prontuario);
         return(Ok());
     }
     catch (Exception ex)
     {
         return(BadRequest(ex));
     }
 }
        public IActionResult Post(Prontuarios prontuarioRecebido)
        {
            try
            {
                ProntuariosRepositorio.Cadastrar(prontuarioRecebido);

                return(Ok(prontuarioRecebido));
            }
            catch (Exception)
            {
                return(BadRequest());
            }
        }
示例#13
0
 public IActionResult Cadastrar(Prontuarios prontuario)
 {
     try
     {
         prontuario.Consultas = null;
         ProntuarioRepository.Cadastrar(prontuario);
         return(Ok());
     }
     catch (Exception ex)
     {
         return(BadRequest(new { mensagem = ex.Message + " ERROOO" }));
     }
 }
        public IActionResult Get(int prontuarioId)
        {
            try
            {
                Prontuarios prontuarioBuscado = ProntuariosRepositorio.BuscarProntuario(prontuarioId);

                if (prontuarioBuscado == null)
                {
                    return(NotFound(new { mensagem = "Prontuario não encontrado!" }));
                }

                return(Ok(prontuarioBuscado));
            }
            catch (Exception)
            {
                return(BadRequest());
            }
        }
        public IActionResult Put(Prontuarios prontuarioRecebido)
        {
            try
            {
                Prontuarios prontuarioBuscado = ProntuariosRepositorio.BuscarProntuario(prontuarioRecebido.Id);

                if (prontuarioBuscado == null)
                {
                    return(NotFound(new { mensagem = "Prontuario não encontrado!" }));
                }

                ProntuariosRepositorio.Alterar(prontuarioRecebido);

                return(Ok(prontuarioRecebido));
            }
            catch (Exception)
            {
                return(BadRequest());
            }
        }
示例#16
0
        public IActionResult Excluir(int id)
        {
            try
            {
                Prontuarios prontuarioProcurado = ProntuarioRepository.BuscarPorId(id);

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

                ProntuarioRepository.Excluir(prontuarioProcurado);

                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest(new { mensagem = ex.Message + "ERROOO" }));
            }
        }
示例#17
0
        public IActionResult Post(LoginViewModel login)
        {
            try
            {
                Usuarios usuarioBuscado = UsuarioRepository.BuscarEmailSenha(login.Email, login.Senha);

                if (usuarioBuscado == null)
                {
                    return(NotFound(new
                    {
                        mensagem = "Email ou senha inválido"
                    }));
                }
                else
                {
                    string nome;
                    using (SpmedgroupContext ctx = new SpmedgroupContext())
                    {
                        Medicos     m = new Medicos();
                        Prontuarios p = new Prontuarios();

                        if (ctx.Medicos.FirstOrDefault(x => x.IdUsuario == usuarioBuscado.Id) != null)
                        {
                            m    = ctx.Medicos.FirstOrDefault(x => x.IdUsuario == usuarioBuscado.Id);
                            nome = m.NomeMedico;
                        }

                        else if (ctx.Prontuarios.FirstOrDefault(x => x.IdUsuario == usuarioBuscado.Id) != null)
                        {
                            p    = ctx.Prontuarios.FirstOrDefault(x => x.IdUsuario == usuarioBuscado.Id);
                            nome = p.NomePaciente;
                        }

                        else
                        {
                            nome = "Administrador";
                        }
                    }

                    //switch (usuarioBuscado.IdTipoUsuarioNavigation.Tipo)
                    //{
                    //    //case "Administrador":
                    //    //    NomeLogado = usuarioBuscado.;
                    //    //    break;
                    //    case "Medico":
                    //        NomeLogado = usuarioBuscado.Medicos.NomeMedico;
                    //        break;

                    //    case "Paciente":
                    //        NomeLogado = usuarioBuscado.Prontuarios.NomePaciente;
                    //        break;
                    //}

                    var claims = new[]
                    {
                        new Claim(JwtRegisteredClaimNames.Email, usuarioBuscado.Email),
                        new Claim(JwtRegisteredClaimNames.Jti, usuarioBuscado.Id.ToString()),
                        new Claim(ClaimTypes.Role, usuarioBuscado.IdTipoUsuarioNavigation.Tipo.ToString()),
                        new Claim("Permissao", usuarioBuscado.IdTipoUsuarioNavigation.Tipo.ToString()),
                        new Claim("Nome", nome)
                    };

                    var key = new SymmetricSecurityKey(System.Text.Encoding.UTF8.GetBytes("spmedgroup-chave-autenticacao"));

                    var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);

                    var token = new JwtSecurityToken(
                        issuer: "SpMedGroup.WebApi",
                        audience: "SpMedGroup.WebApi",
                        claims: claims,
                        expires: DateTime.Now.AddMinutes(20),
                        signingCredentials: creds
                        );

                    return(Ok(new
                    {
                        m = "Acesso liberado !",
                        token = new JwtSecurityTokenHandler().WriteToken(token)
                    }));
                }
            }
            catch (Exception XX)
            {
                return(BadRequest(XX.Message)); //aparece o erro no postman
            }
        }
示例#18
0
        /*
         * public List<Consultas> Listar()
         * {
         *  using (SpMedGroupContext ctx = new SpMedGroupContext())
         *  {
         *      return ctx.Consultas.ToList();
         *  }
         * }
         */

        public List <Consultas> Listar(int IdUser, string IdUserType)
        {
            using (SpMedGroupContext ctx = new SpMedGroupContext())
            {
                if (IdUserType == "Administrador")
                {
                    // return ctx.Consultas
                    List <Consultas> listaConsulta = ctx.Consultas
                                                     .Include(x => x.IdProntuarioNavigation)
                                                     .Include(x => x.IdProntuarioNavigation.IdUsuarioNavigation)
                                                     .Include(x => x.IdMedicoNavigation)
                                                     .Include(x => x.IdMedicoNavigation.IdUsuarioNavigation)
                                                     .Include(x => x.IdMedicoNavigation.IdEspecialidadeNavigation)
                                                     .Include(x => x.IdSituacaoNavigation)
                                                     .ToList();
                    foreach (var item in listaConsulta)
                    {
                        item.IdProntuarioNavigation.Consultas = null;
                        item.IdMedicoNavigation.Consultas     = null;
                        item.IdSituacaoNavigation.Consultas   = null;
                    }
                    return(listaConsulta);
                }

                if (IdUserType == "Medico")
                {
                    Medicos          medico        = ctx.Medicos.FirstOrDefault(x => x.IdUsuario == IdUser);
                    List <Consultas> listaConsulta = ctx.Consultas

                                                     .Include(x => x.IdProntuarioNavigation)
                                                     .Include(x => x.IdProntuarioNavigation.IdUsuarioNavigation)
                                                     .Include(x => x.IdMedicoNavigation)
                                                     .Include(x => x.IdMedicoNavigation.IdUsuarioNavigation)
                                                     .Include(x => x.IdMedicoNavigation.IdEspecialidadeNavigation)
                                                     .Include(x => x.IdSituacaoNavigation)
                                                     .Where(x => x.IdMedico == medico.Id)
                                                     .ToList();

                    //Usar framework DAPPER

                    foreach (var item in listaConsulta)
                    {
                        item.IdProntuarioNavigation.Consultas = null;
                        item.IdMedicoNavigation.Consultas     = null;
                        item.IdSituacaoNavigation.Consultas   = null;
                    }
                    return(listaConsulta);
                }

                if (IdUserType == "Paciente")
                {
                    Prontuarios      prontuario    = ctx.Prontuarios.Where(x => x.Id == IdUser).FirstOrDefault();
                    List <Consultas> listaConsulta = ctx.Consultas
                                                     .Include(x => x.IdProntuarioNavigation)
                                                     .Include(x => x.IdProntuarioNavigation.IdUsuarioNavigation)
                                                     .Include(x => x.IdMedicoNavigation)
                                                     .Include(x => x.IdMedicoNavigation.IdUsuarioNavigation)
                                                     .Include(x => x.IdMedicoNavigation.IdEspecialidadeNavigation)
                                                     .Include(x => x.IdSituacaoNavigation)
                                                     .Where(x => x.IdProntuario == prontuario.Id)
                                                     .ToList();

                    foreach (var item in listaConsulta)
                    {
                        item.IdProntuarioNavigation.Consultas = null;
                        item.IdMedicoNavigation.Consultas     = null;
                        item.IdSituacaoNavigation.Consultas   = null;
                    }
                    return(listaConsulta);
                }

                return(null);
            }
        }
示例#19
0
 public void CadastrarProntuario(Prontuarios prontuario)
 {
     throw new NotImplementedException();
 }