public IActionResult ListarPorProntuario() { try { int usuarioId = Convert.ToInt32(HttpContext.User.Claims.First(c => c.Type == JwtRegisteredClaimNames.Jti).Value); ProntuarioPaciente pacienteProcurado = ProntuarioRepository.BuscarPorIdUsuario(usuarioId); if (pacienteProcurado == null) { return(NotFound(new { mensagem = "Paciente não encontrado." })); } return(Ok(ConsultaRepository.ListarPorProntuario(pacienteProcurado.Id))); } catch (Exception ex) { return(BadRequest(new { mensagem = "Erro: " + ex })); } }
public ProntuarioPaciente Cadastrar(ProntuarioPaciente paciente) { Usuarios usuario = new Usuarios(); using (SpMedGroupContext ctx = new SpMedGroupContext()) { usuario = ctx.Usuarios.Find(paciente.IdUsuario); if (usuario.IdTipoUsuarios != 3) { return(null); } if (ctx.ProntuarioPaciente.Find(paciente.IdUsuario) != null) //Pra que ele não possa cadastrar um paciente num usuário que já exista! { return(null); } if (paciente.DataNasc > DateTime.Now) { return(null); } else { ctx.ProntuarioPaciente.Add(paciente); ctx.SaveChanges(); return(paciente); } } }
public void CadastrarProntuario(ProntuarioPaciente prontuario) { using (SPMedGroupContext ctx = new SPMedGroupContext()) { ctx.ProntuarioPaciente.Add(prontuario); ctx.SaveChanges(); } }
public int BuscarIdUsuario(int IdProntuarioPaciente) { using (SpMedGroupContext ctx = new SpMedGroupContext()) { ProntuarioPaciente Paciente = new ProntuarioPaciente(); Paciente = ctx.ProntuarioPaciente.FirstOrDefault(x => x.Id == IdProntuarioPaciente); return(Paciente.IdUsuario); } }
public IActionResult CadastrarProntuario(ProntuarioPaciente prontuario) { try { UsuarioRepository.CadastrarProntuario(prontuario); return(Ok()); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public IActionResult Cadastrar(ProntuarioPacienteViewModel paciente) { try { if (paciente.DataNasc.Year >= DateTime.Now.Year) { return(BadRequest("Insira uma data de nascimento válida")); } UsuarioRepository usuarioRepository = new UsuarioRepository(); EnderecosPacientesRepository enderecoPacienteRepository = new EnderecosPacientesRepository(); ProntuarioPacienteRepository prontuarioPacienteRepository = new ProntuarioPacienteRepository(); Usuarios usuario = new Usuarios(); //atribuindo as informações do view model ao usuário usuario.IdTipoUsuarios = paciente.IdTipoUsuarios; usuario.Email = paciente.Email; usuario.Senha = paciente.Senha; //cadastrando o usuário usuarioRepository.Cadastrar(usuario); EnderecosPacientes endereco = new EnderecosPacientes(); //atribuindo as informações do view model ao endereço endereco.Estado = paciente.Estado; endereco.Cidade = paciente.Cidade; endereco.Bairro = paciente.Bairro; endereco.Logradouro = paciente.Logradouro; endereco.Endereco = paciente.Endereco; endereco.Cep = paciente.Cep; //cadastrando endereço enderecoPacienteRepository.Cadastrar(endereco); ProntuarioPaciente prontuariopaciente = new ProntuarioPaciente(); prontuariopaciente.Nome = paciente.Nome; prontuariopaciente.Rg = paciente.Rg; prontuariopaciente.Cpf = paciente.Cpf; prontuariopaciente.DataNasc = paciente.DataNasc.Date; prontuariopaciente.Telefone = paciente.Telefone; prontuariopaciente.IdEndereco = endereco.Id; prontuariopaciente.IdUsuario = usuario.Id; //cadastrando prontuario/paciente prontuarioPacienteRepository.Cadastrar(prontuariopaciente); return(Ok("Paciente cadastrado com sucesso!")); } catch { return(BadRequest("Algo deu errado :/")); } }
public List <Consultas> ListarConsultasPac(int id) { using (SPMedGroupContext ctx = new SPMedGroupContext()) { ProntuarioPaciente prontuario = ctx.ProntuarioPaciente.FirstOrDefault(x => x.IdUsuario == id); List <Consultas> listaConsultas = ctx.Consultas.Include(x => x.IdProntuarioNavigation.IdUsuarioNavigation).Include(x => x.IdTipoSituacaoNavigation).Include(x => x.IdMedicoNavigation).Where(x => x.IdProntuarioNavigation.Id == prontuario.Id).ToList(); foreach (var item in listaConsultas) { item.IdMedicoNavigation.Consultas = null; item.IdProntuarioNavigation.Consultas = null; item.IdTipoSituacaoNavigation.Consultas = null; } return(listaConsultas); } }
public List <Consulta> ListarMinhasConsultas(int pegaUsuarioId, int tipoLogado) { List <Consulta> minhasConsultas = new List <Consulta>(); switch (tipoLogado) { case 1: TipoMedico medicoBuscado = ctx.TipoMedico.Where(m => m.IdUsuario == pegaUsuarioId).FirstOrDefault(); minhasConsultas = ctx.Consulta.ToList().FindAll(c => c.IdMedico == medicoBuscado.Id); break; case 2: ProntuarioPaciente prontuarioBuscado = ctx.ProntuarioPaciente.Where(p => p.IdUsuario == pegaUsuarioId).FirstOrDefault(); minhasConsultas = ctx.Consulta.ToList().FindAll(c => c.IdPaciente == prontuarioBuscado.Id); break; } return(minhasConsultas); }
public IActionResult Post(LoginViewModel login) { try { Usuarios usuario = UsuarioRepository.BuscarPorEmailSenha(login.Email, login.Senha); //Se o usuário não foi encontrado, então if (usuario == null) { //Retorna o erro "NotFound" return(NotFound("Email ou senha inválido!")); } //Se foi encontrado... else { string nome; using (SpMedGroupContext ctx = new SpMedGroupContext()) { Medicos medico = new Medicos(); ProntuarioPaciente paciente = new ProntuarioPaciente(); if (ctx.Medicos.FirstOrDefault(x => x.IdUsuario == usuario.Id) != null) { medico = ctx.Medicos.FirstOrDefault(x => x.IdUsuario == usuario.Id); nome = medico.Nome; } else if (ctx.ProntuarioPaciente.FirstOrDefault(x => x.IdUsuario == usuario.Id) != null) { paciente = ctx.ProntuarioPaciente.FirstOrDefault(x => x.IdUsuario == usuario.Id); nome = paciente.Nome; } else { nome = "Administrador"; } } //Estabelecendo quais dados estarão no payload para serem acessados var claims = new[] { new Claim(JwtRegisteredClaimNames.Jti, usuario.Id.ToString()), new Claim(JwtRegisteredClaimNames.Email, usuario.Email), new Claim(ClaimTypes.Role, usuario.IdTipoUsuarios.ToString()), new Claim("Role", usuario.IdTipoUsuarios.ToString()), new Claim("Nome", nome) }; //Chave para acesso ao token var key = new SymmetricSecurityKey(System.Text.Encoding.UTF8.GetBytes("D0Mlmccm14D0Mlmccm14D0Mlmccm14D0Mlmccm14")); //Header, credenciais, geradas automaticamente. var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); //Gerando o token var token = new JwtSecurityToken( issuer: "SPMedGroup.WebApi", audience: "SPMedGroup.WebApi", claims: claims, expires: DateTime.Now.AddMinutes(10), signingCredentials: creds ); //Retorna Ok + o Token com as informações que queremos. return(Ok(new { token = new JwtSecurityTokenHandler().WriteToken(token) })); } } catch { return(BadRequest("Alguma coisa deu errado")); } }
public ProntuarioPaciente Create(ProntuarioPaciente objeto) { return(_context.ProntuariosPacientes.Add(objeto).Entity); }