コード例 #1
0
        public void BuscarAtendimentoTest()
        {
            int id = _atendimentoRepositorio.GetAll().FirstOrDefault().A29AtendimentoId;

            var atendimento = new A29AtendimentoBusiness(_atendimentoRepositorio, _prontuarioRepositorio, _registroEvolucaoEnfermagemRepositorio, _usuarioRepositorio, _profissionalRepositorio, _usuarioInternoRepositorio).BuscarAtendimento(id);

            Assert.True(atendimento != null);
        }
コード例 #2
0
        public void CadastrarProntuarioTest()
        {
            var atendimento = new A29AtendimentoBusiness(_atendimentoRepositorio, _prontuarioRepositorio, _registroEvolucaoEnfermagemRepositorio, _usuarioRepositorio, _profissionalRepositorio, _usuarioInternoRepositorio).BuscarAtendimento(1);

            A9Prontuario prontuario = new A9Prontuario();

            prontuario.A9ProntuarioInternado = false;

            prontuario.RelAtendimentoProntuario = new List <RelAtendimentoProntuario>();
            prontuario.RelAtendimentoProntuario.Add(new RelAtendimentoProntuario()
            {
                A29AtendimentoId = atendimento.A29AtendimentoId
            });

            prontuario.RelHistoricoEvolucaoEnfermagem = new List <RelHistoricoEvolucaoEnfermagem>();

            A10RegistroEvolucaoEnfermagem registroEnfermagem = new A10RegistroEvolucaoEnfermagem();

            registroEnfermagem.A10RegistroEvolucaoEnfermagemData      = DateTime.Now;
            registroEnfermagem.A10RegistroEvolucaoEnfermagemDescrição = "O Paciente esta com febre alta";
            registroEnfermagem.A10RegistroEvolucaoEnfermagemHora      = new TimeSpan(DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second);
            registroEnfermagem.A13ProfissionalCodigoCns = "1";

            A10RegistroEvolucaoEnfermagem registroEnfermagem2 = new A10RegistroEvolucaoEnfermagem();

            registroEnfermagem2.A10RegistroEvolucaoEnfermagemData      = DateTime.Now;
            registroEnfermagem2.A10RegistroEvolucaoEnfermagemDescrição = "O Paciente esta manchas avermelhadas";
            registroEnfermagem2.A10RegistroEvolucaoEnfermagemHora      = new TimeSpan(DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second);
            registroEnfermagem2.A13ProfissionalCodigoCns = "1";

            List <A10RegistroEvolucaoEnfermagem> lstRegistros = new List <A10RegistroEvolucaoEnfermagem>();

            lstRegistros.Add(registroEnfermagem);
            lstRegistros.Add(registroEnfermagem2);

            List <int> registrosCadastrados = new A10RegistroEvolucaoEnfermagemBusiness(_registroEvolucaoEnfermagemRepositorio, _profissionalRepositorio, _usuarioInternoRepositorio).CadastrarRegistrosEnfermagem(lstRegistros);

            foreach (var item in registrosCadastrados)
            {
                prontuario.RelHistoricoEvolucaoEnfermagem.Add(new RelHistoricoEvolucaoEnfermagem()
                {
                    A10RegistroEvolucaoEnfermagemId = item
                });
            }

            var resultado = new A9ProntuarioBusiness(_prontuarioRepositorio, null, null, _profissionalRepositorio, _usuarioInternoRepositorio).CadastrarProntuario(prontuario);

            Assert.True(resultado);
        }
コード例 #3
0
        public void CadastrarAtendimentoTest()
        {
            List <string> includes = new List <string>();

            includes.Add("A3InformacaoCadastro");
            includes.Add("RelUsuarioPerfil");
            var            usuario     = _usuarioRepositorio.FindAll(c => c.RelUsuarioPerfil.FirstOrDefault(c => c.A1UsuarioId == 2).A6PerfilId == 4, includes).FirstOrDefault();
            A29Atendimento atendimento = new A29Atendimento();

            atendimento.A29Data = DateTime.Now;
            atendimento.A3InformacaoCadastroId = usuario.A3InformacaoCadastro.ToList()[0].A3InformacaoCadastroId;

            var numeroAtendimento = new A29AtendimentoBusiness(_atendimentoRepositorio, null, null, null, _profissionalRepositorio, _usuarioInternoRepositorio).CadastrarAtendimento(atendimento);

            Assert.True(numeroAtendimento > 0);
        }
コード例 #4
0
        public IActionResult PesquisarPorCodigoAtendimento(string numeroAtendimento)
        {
            try
            {
                A29AtendimentoBusiness atendimentoNegocio = new A29AtendimentoBusiness(_atendimentoRepositorio, _prontuarioRepositorio, _registroEvolucaoEnfermagemRepositorio, _usuarioRepositorio, _profissionalRepositorio, _usuarioInternoRepositorio);
                var atendimento = atendimentoNegocio.BuscarAtendimento(Convert.ToInt32(numeroAtendimento));
                if (atendimento.Mensagens.Count == 0)
                {
                    _sessao.IDAtendimento = atendimento.A29AtendimentoId;
                    _sessao.RegistrosEvolucaoEnfermagem = null;
                    string atendimentoJson = JsonConvert.SerializeObject(atendimento, Formatting.Indented, new JsonSerializerSettings {
                        ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                    });
                    var dados = JsonConvert.DeserializeObject <A29Atendimento>(atendimentoJson);
                    List <RegistroEnfermagemViewModel> lstRegistroEnfermagemJaCadastrado = new List <RegistroEnfermagemViewModel>();;
                    if (dados.RelAtendimentoProntuario.Count > 0)
                    {
                        var prontuario = dados.RelAtendimentoProntuario.ToList()[0].A9Prontuario;
                        _sessao.IDProntuario = dados.RelAtendimentoProntuario.ToList()[0].A9Prontuario.A9ProntuarioId;
                        foreach (var item in prontuario.RelHistoricoEvolucaoEnfermagem)
                        {
                            RegistroEnfermagemViewModel registro = new RegistroEnfermagemViewModel();
                            registro.ID             = item.A10RegistroEvolucaoEnfermagem.A10RegistroEvolucaoEnfermagemId;
                            registro.Data           = Convert.ToDateTime(item.A10RegistroEvolucaoEnfermagem.A10RegistroEvolucaoEnfermagemData).ToString("dd/MM/yyyy");
                            registro.Hora           = ((TimeSpan)item.A10RegistroEvolucaoEnfermagem.A10RegistroEvolucaoEnfermagemHora).ToString(@"hh\:mm\:ss");
                            registro.Descricao      = item.A10RegistroEvolucaoEnfermagem.A10RegistroEvolucaoEnfermagemDescrição;
                            registro.Profissional   = item.A10RegistroEvolucaoEnfermagem.A13ProfissionalCodigoCnsNavigation.A13ProfissionalNome;
                            registro.EhRegistroNovo = item.A10RegistroEvolucaoEnfermagem.EhRegistroNovo;
                            lstRegistroEnfermagemJaCadastrado.Add(registro);
                        }
                    }
                    _sessao.RegistrosEvolucaoEnfermagem = lstRegistroEnfermagemJaCadastrado;

                    return(Json(new { DadosAtendimento = dados, RegistrosEnfermagem = _sessao.RegistrosEvolucaoEnfermagem.OrderBy(c => c.ID), MensagemSuceso = "", MensagemErro = "", MensagemAlerta = "" }));
                }
                else
                {
                    return(Json(new { DadosAtendimento = "", MensagemErro = "", MensagemAlerta = atendimento.Mensagens[0].DescricaoMensagem, MensagemSucesso = "" }));
                }
            }
            catch (Exception ex)
            {
                return(Json(new { DadosAtendimento = "", MensagemErro = ex.Message, MensagemAlerta = "", MensagemSucesso = "" }));
            }
        }
コード例 #5
0
        public async Task <IActionResult> CadastrarNovoAtendimento(string formulario)
        {
            try
            {
                int    indiceUnicoInformacaoUsuario = 0;
                string usuarioNaoExisteNoSistema    = "0";

                UsuarioExternoViewModel usuario           = JsonConvert.DeserializeObject <UsuarioExternoViewModel>(formulario);
                A29Atendimento          atendimento       = new A29Atendimento();
                A1Usuario usuarioCadastro                 = new A1Usuario();
                A29AtendimentoBusiness atendimentoNegocio = new A29AtendimentoBusiness(_atendimentoRepositorio, null, null, _usuarioRepositorio, _profissionalRepositorio, _usuarioInternoRepositorio);
                A1UsuarioBusiness      usuarioNegocio     = new A1UsuarioBusiness(_usuarioRepositorio, null, _perfilRepositorio, null);
                EmailBusiness          emailNegocio       = new EmailBusiness(_emailEnvio);

                if (usuario.UsuarioID != usuarioNaoExisteNoSistema)
                {
                    var informacaoID = usuarioNegocio.BuscarUsuarioPorCPF(usuario.NumeroCPF).A3InformacaoCadastro.ToList()[indiceUnicoInformacaoUsuario].A3InformacaoCadastroId;
                    atendimento.A3InformacaoCadastroId = informacaoID;
                    atendimento.A29Data = DateTime.Now;
                    atendimentoNegocio.CadastrarAtendimento(atendimento);
                    if (atendimento.Mensagens.Count == 0)
                    {
                        return(Json(new { NumeroAtendimento = atendimento.A29AtendimentoId, Mensagem = "" }));
                    }
                    else
                    {
                        return(Json(new { NumeroAtendimento = "0", Mensagem = atendimento.Mensagens[0].DescricaoMensagem }));
                    }
                }
                else
                {
                    usuarioCadastro.A1UsuarioNumeroCpf = usuario.NumeroCPF;
                    usuarioCadastro.A1UsuarioNome      = usuario.NomeCompleto;
                    usuarioCadastro.A1UsuarioSenha     = "123456";

                    A3InformacaoCadastro informacaoCadastro = new A3InformacaoCadastro();
                    informacaoCadastro.A3InformacaoCadastroCelular        = usuario.TelefoneCelular;
                    informacaoCadastro.A3InformacaoCadastroDataNascimento = Convert.ToDateTime(usuario.DataNascimento);
                    informacaoCadastro.A3InformacaoCadastroEmail          = usuario.Email;
                    informacaoCadastro.A3InformacaoCadastroNomeCompleto   = usuario.NomeCompleto;
                    informacaoCadastro.A3InformacaoCadastroNomeMae        = usuario.NomeMae;
                    informacaoCadastro.A3InformacaoCadastroNomePai        = usuario.NomePai;
                    informacaoCadastro.A3InformacaoCadastroNumeroCarteiraNacionalSaude = usuario.NumeroCarteiraSUS;
                    informacaoCadastro.A3InformacaoCadastroTelefone = usuario.TelefoneResidencial;

                    usuarioCadastro.A3InformacaoCadastro = new List <A3InformacaoCadastro>();
                    usuarioCadastro.A3InformacaoCadastro.Add(informacaoCadastro);

                    var loginCriado = usuarioNegocio.CriarLogin(usuarioCadastro);

                    if (loginCriado)
                    {
                        atendimento.A29Data = DateTime.Now;
                        atendimento.A3InformacaoCadastroId = usuarioCadastro.A3InformacaoCadastro.ToList()[indiceUnicoInformacaoUsuario].A3InformacaoCadastroId;
                        atendimentoNegocio.CadastrarAtendimento(atendimento);
                        if (atendimento.Mensagens.Count == 0)
                        {
                            EmailModel email = new EmailModel();
                            email.Assunto    = "Cadastro no sistema gestão de saúde";
                            email.CorpoEmail = string.Format("Foi criado um cadastro no sistema de saude. <p>Usuario: {0}</p><p>Senha: {1} </p> ", usuarioCadastro.A1UsuarioNumeroCpf, usuarioCadastro.A1UsuarioSenha);
                            email.DoEmail    = "*****@*****.**";
                            email.ParaEmail  = "*****@*****.**";
                            await emailNegocio.EnviarEmailAsync(email);

                            return(Json(new { NumeroAtendimento = atendimento.A29AtendimentoId, Mensagem = "", MensagemErro = "" }));
                        }
                        else
                        {
                            return(Json(new { NumeroAtendimento = "0", MensagemErro = "", Mensagem = atendimento.Mensagens[0].DescricaoMensagem }));
                        }
                    }
                    else
                    {
                        return(Json(new { NumeroAtendimento = "0", MensagemErro = "", Mensagem = usuarioCadastro.Mensagens[0].DescricaoMensagem }));
                    }
                }
            }
            catch (Exception ex)
            {
                return(Json(new { NumeroAtendimento = "0", Mensagem = "", MensagemErro = string.Format("Ocorreu um erro inesperado, contate seu administrador. Erro: {0}", ex.Message) }));
            }
        }