public A1Usuario BuscarUsuarioPorCPF(string numeroCpf)
        {
            A1Usuario usuario = new A1Usuario();

            try
            {
                List <string> includes = new List <string>();
                includes.Add("A3InformacaoCadastro");
                var usuarioPesquisado = _usuarioRepositorio.Find(c => c.A1UsuarioNumeroCpf == numeroCpf, includes);
                if (usuarioPesquisado == null)
                {
                    usuario.Mensagens = new List <Mensagem>();
                    usuario.Mensagens.Add(Util.AdicionarMensagem(TipoMensagem.Atencao, Common.MensagensSistema.MsgsSistema.MsgUsuarioNaoExiste));
                    return(usuario);
                }
                else
                {
                    return(usuarioPesquisado);
                }
            }
            catch (Exception ex)
            {
                usuario           = new A1Usuario();
                usuario.Mensagens = new List <Mensagem>();
                usuario.Mensagens.Add(Util.AdicionarMensagem(TipoMensagem.Erro, ex.Message));
                return(usuario);
            }
        }
Esempio n. 2
0
        public void CriarLogin()
        {
            A1Usuario usuario = new A1Usuario();

            usuario.A1UsuarioNome      = "TESTE2";
            usuario.A1UsuarioNumeroCpf = "33333333344";
            usuario.A1UsuarioSenha     = "123456";

            A3InformacaoCadastro informacao = new A3InformacaoCadastro();

            informacao.A3InformacaoCadastroCelular        = "11955556666";
            informacao.A3InformacaoCadastroDataNascimento = new DateTime(1988, 9, 16);
            informacao.A3InformacaoCadastroEmail          = "*****@*****.**";
            informacao.A3InformacaoCadastroNomeCompleto   = "TESTE Fulano da Silva";
            informacao.A3InformacaoCadastroNomeMae        = "MAE Teste fulano da Silva";
            informacao.A3InformacaoCadastroNomePai        = "PAI Teste fulano da silva";
            informacao.A3InformacaoCadastroNumeroCarteiraNacionalSaude = "1234567890";
            usuario.A3InformacaoCadastro = new List <A3InformacaoCadastro>();
            usuario.A3InformacaoCadastro.Add(informacao);

            RelUsuarioPerfil perfilUsuario = new RelUsuarioPerfil();

            perfilUsuario.A6PerfilId = 4;
            usuario.RelUsuarioPerfil = new List <RelUsuarioPerfil>();
            usuario.RelUsuarioPerfil.Add(perfilUsuario);

            var retorno = new A1UsuarioBusiness(_usuarioRepositorio, _usuarioInternoRepositorio, _perfilRepositorio, _profissionalRepositorio).CriarLogin(usuario);

            Assert.True(retorno && usuario.Mensagens.Count == 0);
        }
        public List <A6Perfil> RetornarPerfisUsuarioExterno(A1Usuario usuarioExterno)
        {
            List <A6Perfil> perfis = new List <A6Perfil>();

            foreach (var item in usuarioExterno.RelUsuarioPerfil)
            {
                perfis.Add(item.A6Perfil);
            }
            return(perfis);
        }
 public bool Logar(A1Usuario usuario)
 {
     if (Autenticar(usuario, null, Enumeradores.ModoAutenticacao.LogarPaciente))
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Esempio n. 5
0
        public void LogarTest()
        {
            A1Usuario usuario = new A1Usuario();

            usuario.A1UsuarioNome      = "TESTE";
            usuario.A1UsuarioNumeroCpf = "12312312312";
            usuario.A1UsuarioSenha     = "123456";

            var usuarioRetornado = new A1UsuarioBusiness(_usuarioRepositorio, _usuarioInternoRepositorio, _perfilRepositorio, _profissionalRepositorio).Logar(usuario);

            Assert.True(usuarioRetornado && usuario.Mensagens.Count == 0);
        }
        public bool CriarLogin(A1Usuario usuario)
        {
            bool retorno = true;

            if (Autenticar(usuario, null, Enumeradores.ModoAutenticacao.CriarLogin))
            {
                _usuarioRepositorio.Add(usuario);
                _usuarioRepositorio.Save();

                retorno = usuario.A1UsuarioId > 0;
            }
            else
            {
                retorno = false;
            }

            return(retorno);
        }
        public IActionResult Index(string txtCPF, string txtSenha)
        {
            Sessao = new Sessao(_httpContextAccessor);
            A1UsuarioBusiness usuarioNegocio = new A1UsuarioBusiness(_usuarioRepositorio, _usuarioInternoRepositorio, _perfilRepositorio, _profissionalRepositorio);
            A1Usuario         usuario        = new A1Usuario();

            usuario.A1UsuarioNumeroCpf = txtCPF;
            usuario.A1UsuarioSenha     = txtSenha;

            if (usuarioNegocio.Logar(usuario))
            {
                Sessao.UsuarioExterno = usuarioNegocio.BuscarUsuarioPorCPF(usuario.A1UsuarioNumeroCpf);
                return(RedirectToAction("PaginaInicial", "Painel"));
            }
            else
            {
                Sessao.UsuarioExterno = null;
                Sessao.UsuarioInterno = null;
                ViewBag.Mensagem      = usuario.Mensagens[0].DescricaoMensagem;
                return(View());
            }
        }
Esempio n. 8
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) }));
            }
        }
        private bool Autenticar(A1Usuario usuarioPaciente, A2UsuarioInterno usuarioInterno, Enumeradores.ModoAutenticacao modoAutenticacao)
        {
            Mensagem mensagem = new Mensagem();

            mensagem.TipoMensagem = TipoMensagem.Atencao;
            bool retorno = true;

            switch (modoAutenticacao)
            {
            case Enumeradores.ModoAutenticacao.CriarLogin:
                var usuarioExistente = _usuarioRepositorio.Find(c => c.A1UsuarioNumeroCpf == usuarioPaciente.A1UsuarioNumeroCpf);
                if (usuarioExistente != null)
                {
                    mensagem.DescricaoMensagem = Common.MensagensSistema.MsgsSistema.MsgUsuarioExistente;
                    usuarioPaciente.Mensagens.Add(mensagem);
                    retorno = false;
                }
                break;

            case Enumeradores.ModoAutenticacao.LogarInterno:
                List <string> includes = new List <string>();
                includes.Add("RelUsuarioInternoPerfil");
                includes.Add("RelUsuarioInternoProfissional");

                var usuarioInternoExistente = _usuarioInternoRepositorio.Find(c => c.A2UsuarioInternoEmail == usuarioInterno.A2UsuarioInternoEmail, includes);
                if (usuarioInternoExistente == null)
                {
                    mensagem.DescricaoMensagem = Common.MensagensSistema.MsgsSistema.MsgUsuarioInternoNaoExiste;
                    usuarioInterno.Mensagens.Add(mensagem);
                    retorno = false;
                }
                if (usuarioInternoExistente != null)
                {
                    if (usuarioInterno.A2UsuarioInternoSenha != usuarioInternoExistente.A2UsuarioInternoSenha)
                    {
                        mensagem.DescricaoMensagem = Common.MensagensSistema.MsgsSistema.MsgSenhaIncorreta;
                        usuarioInterno.Mensagens.Add(mensagem);
                        retorno = false;
                    }
                    else
                    {
                        usuarioInterno.RelUsuarioInternoPerfil       = usuarioInternoExistente.RelUsuarioInternoPerfil;
                        usuarioInterno.RelUsuarioInternoProfissional = usuarioInternoExistente.RelUsuarioInternoProfissional;

                        foreach (var item in usuarioInterno.RelUsuarioInternoPerfil)
                        {
                            item.A6Perfil = _perfilRepositorio.Find(c => c.A6PerfilId == item.A6PerfilId);
                        }
                        foreach (var item in usuarioInterno.RelUsuarioInternoProfissional)
                        {
                            item.A13ProfissionalCodigoCnsNavigation = _profissionalRepositorio.Find(c => c.A13ProfissionalCodigoCns == item.A13ProfissionalCodigoCns);
                        }
                    }
                }
                break;

            case Enumeradores.ModoAutenticacao.LogarPaciente:

                List <string> includesPaciente = new List <string>();
                includesPaciente.Add("RelUsuarioPerfil");
                var usuarioLogar = _usuarioRepositorio.Find(c => c.A1UsuarioNumeroCpf == usuarioPaciente.A1UsuarioNumeroCpf, includesPaciente);
                if (usuarioLogar == null)
                {
                    mensagem.DescricaoMensagem = Common.MensagensSistema.MsgsSistema.MsgUsuarioNaoExiste;
                    usuarioPaciente.Mensagens.Add(mensagem);
                    retorno = false;
                }

                if (usuarioLogar != null)
                {
                    if (usuarioPaciente.A1UsuarioSenha != usuarioLogar.A1UsuarioSenha)
                    {
                        mensagem.DescricaoMensagem = Common.MensagensSistema.MsgsSistema.MsgSenhaIncorreta;
                        usuarioPaciente.Mensagens.Add(mensagem);
                        retorno = false;
                    }
                    else
                    {
                        usuarioPaciente.RelUsuarioPerfil = usuarioLogar.RelUsuarioPerfil;

                        foreach (var item in usuarioPaciente.RelUsuarioPerfil)
                        {
                            item.A6Perfil = _perfilRepositorio.Find(c => c.A6PerfilId == item.A6PerfilId);
                        }
                    }
                }
                break;

            default:
                break;
            }

            return(retorno);
        }