public A2UsuarioInterno BuscarUsuarioInternoPorEmail(string email)
        {
            A2UsuarioInterno usuario = new A2UsuarioInterno();

            try
            {
                List <string> includes = new List <string>();
                includes.Add("RelUsuarioInternoPerfil");
                includes.Add("RelUsuarioInternoProfissional");
                var usuarioPesquisado = _usuarioInternoRepositorio.Find(c => c.A2UsuarioInternoEmail == email, 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 A2UsuarioInterno();
                usuario.Mensagens = new List <Mensagem>();
                usuario.Mensagens.Add(Util.AdicionarMensagem(TipoMensagem.Erro, ex.Message));
                return(usuario);
            }
        }
 public A2UsuarioInterno BuscarUsuarioInternoPorID(int id)
 {
     try
     {
         A2UsuarioInterno usuarioInterno = _usuarioInternoRepositorio.Find(c => c.A2UsuarioInternoId == id);
         if (usuarioInterno == null)
         {
             usuarioInterno = new A2UsuarioInterno();
             Mensagem msg = new Mensagem();
             msg.TipoMensagem      = TipoMensagem.Atencao;
             msg.DescricaoMensagem = Common.MensagensSistema.MsgsSistema.MsgProfissionalExistente;
             usuarioInterno.Mensagens.Add(msg);
         }
         return(usuarioInterno);
     }
     catch (Exception ex)
     {
         A2UsuarioInterno usuarioInterno = new A2UsuarioInterno();
         Mensagem         msg            = new Mensagem();
         msg.TipoMensagem      = TipoMensagem.Erro;
         msg.DescricaoMensagem = ex.Message;
         usuarioInterno.Mensagens.Add(msg);
         return(usuarioInterno);
     }
 }
        public List <A6Perfil> RetornarPerfisUsuarioInterno(A2UsuarioInterno usuarioInterno)
        {
            List <A6Perfil> perfis = new List <A6Perfil>();

            foreach (var item in usuarioInterno.RelUsuarioInternoPerfil)
            {
                perfis.Add(item.A6Perfil);
            }
            return(perfis);
        }
 public bool LogarInterno(A2UsuarioInterno usuarioInterno)
 {
     if (Autenticar(null, usuarioInterno, Enumeradores.ModoAutenticacao.LogarInterno))
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
示例#5
0
        public void LogarInternoTest()
        {
            A2UsuarioInterno usuario = new A2UsuarioInterno();

            usuario.A2UsuarioInternoNome  = "TESTE Interno";
            usuario.A2UsuarioInternoEmail = "*****@*****.**";
            usuario.A2UsuarioInternoSenha = "123456";

            var usuarioRetornado = new A1UsuarioBusiness(null, _usuarioInternoRepositorio, _perfilRepositorio, _profissionalRepositorio).LogarInterno(usuario);

            Assert.True(usuarioRetornado && usuario.Mensagens.Count == 0);
        }
        public bool CriarLoginInterno(A2UsuarioInterno usuario)
        {
            try
            {
                _usuarioInternoRepositorio.Add(usuario);
                _usuarioInternoRepositorio.Save();

                return(usuario.A2UsuarioInternoId > 0);
            }
            catch (Exception)
            {
                return(false);
            }
        }
示例#7
0
        public void CriarLoginInternoTest()
        {
            A2UsuarioInterno usuario = new A2UsuarioInterno();

            usuario.A2UsuarioInternoNome  = "Administrador";
            usuario.A2UsuarioInternoEmail = "*****@*****.**";
            usuario.A2UsuarioInternoSenha = "123456";

            RelUsuarioInternoPerfil perfil = new RelUsuarioInternoPerfil();

            perfil.A6PerfilId = 1;
            usuario.RelUsuarioInternoPerfil = new List <RelUsuarioInternoPerfil>();
            usuario.RelUsuarioInternoPerfil.Add(perfil);

            //RelUsuarioInternoProfissional profissional = new RelUsuarioInternoProfissional();
            //profissional.A13ProfissionalCodigoCns = "700204985949127";
            //usuario.RelUsuarioInternoProfissional = new List<RelUsuarioInternoProfissional>();
            //usuario.RelUsuarioInternoProfissional.Add(profissional);

            var retorno = new A2UsuarioInternoBusiness(_usuarioInternoRepositorio).CriarLoginInterno(usuario);

            Assert.True(retorno && usuario.Mensagens.Count == 0);
        }
        public IActionResult LoginInterno(string txtEmail, string txtSenhaInterno)
        {
            Sessao = new Sessao(_httpContextAccessor);
            A1UsuarioBusiness        usuarioNegocio        = new A1UsuarioBusiness(_usuarioRepositorio, _usuarioInternoRepositorio, _perfilRepositorio, _profissionalRepositorio);
            A2UsuarioInternoBusiness usuarioInternoNegocio = new A2UsuarioInternoBusiness(_usuarioInternoRepositorio);
            A2UsuarioInterno         usuario = new A2UsuarioInterno();

            usuario.A2UsuarioInternoEmail = txtEmail;
            usuario.A2UsuarioInternoSenha = txtSenhaInterno;

            if (usuarioNegocio.LogarInterno(usuario))
            {
                Sessao.UsuarioInterno = usuarioInternoNegocio.BuscarUsuarioInternoPorEmail(usuario.A2UsuarioInternoEmail);
                return(RedirectToAction("PaginaInicial", "Painel"));
            }
            else
            {
                Sessao.UsuarioInterno = null;
                Sessao.UsuarioExterno = null;
                ViewBag.Mensagem      = usuario.Mensagens[0].DescricaoMensagem;
                return(View("Index", "Home"));
            }
        }
        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);
        }