public bool Autenticar(ref UsuarioAutenticarDTO usuarioDTO)
        {
            bool retorno;

            try
            {
                var usuarioModel = new UsuarioModel(usuarioDTO.Login, usuarioDTO.Senha);

                var usuario = _database.Usuario.FirstOrDefault(u => u.Login_Usuario.Equals(usuarioModel.Login_Usuario) && u.Senha.Equals(usuarioModel.Senha) && u.Ativo == false);

                if (usuario != null)
                {
                    usuarioDTO.IdUsuario = usuario.Id_Usuario;
                    usuarioDTO.Login     = usuario.Login_Usuario;
                    usuarioDTO.Senha     = usuario.Senha;

                    retorno = true;
                }
                else
                {
                    retorno = false;
                }
            }
            catch (Exception e)
            {
                throw e;
            }
            return(retorno);
        }
Exemple #2
0
        private async void Login(UsuarioAutenticarDTO usuario, ListaPerfilsDeUsuarioResultadoDTO respostaPerfilUsuario)
        {
            var claims = new List <Claim>
            {
                new Claim(ClaimTypes.Name, usuario.Login),
                new Claim("IdUsuario", usuario.IdUsuario.ToString())
            };

            foreach (var perfil in respostaPerfilUsuario.PerfilsDeUsuario)
            {
                var claim = new Claim("IdPerfil", perfil.IdPerfil.ToString());
                claims.Add(claim);
            }

            var             identidadeDeUsuario = new ClaimsIdentity(claims, "Login");
            ClaimsPrincipal claimPrincipal      = new ClaimsPrincipal(identidadeDeUsuario);

            var propriedadesDeAutenticacao = new AuthenticationProperties
            {
                AllowRefresh = true,
                ExpiresUtc   = DateTime.Now.ToLocalTime().AddHours(2),
                IsPersistent = true
            };

            await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, claimPrincipal, propriedadesDeAutenticacao);
        }
Exemple #3
0
        public List <PerfilDeUsuarioDTO> ListarPerfilsDeUsuario(UsuarioAutenticarDTO usuario)
        {
            List <PerfilDeUsuarioDTO> list = new List <PerfilDeUsuarioDTO>();

            try
            {
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = con.Conectar();

                cmd.CommandText = @"SELECT p.* FROM acesso a inner JOIN Usuario u ON (u.id_usuario = a.id_usuario) inner JOIN Perfil  p ON (p.id_perfil = a.id_perfil) WHERE a.id_usuario = @idUsuario";

                cmd.Parameters.AddWithValue("@idUsuario", usuario.IdUsuario);

                SqlDataReader dr = cmd.ExecuteReader();

                while (dr.Read())
                {
                    PerfilDeUsuarioDTO perfilDeUsuarioDTO = new PerfilDeUsuarioDTO();
                    perfilDeUsuarioDTO.IdPerfil   = Convert.ToInt32(dr["id_perfil"]);
                    perfilDeUsuarioDTO.NomePerfil = dr["nome_perfil"].ToString();
                    list.Add(perfilDeUsuarioDTO);
                }

                con.Desconectar();
            }
            catch (Exception e)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(e.Message);
                Console.ForegroundColor = ConsoleColor.White;
            }
            return(list);
        }
Exemple #4
0
 private static void ApresentarDadosUsuario(UsuarioAutenticarDTO usuarioAutenticarDTO, List <PerfilDeUsuarioDTO> list)
 {
     Console.WriteLine("\n\n<=====DADOS DO USUÁRIO=====>\n");
     Console.WriteLine("Id: " + usuarioAutenticarDTO.IdUsuario);
     Console.WriteLine("Login: "******"Senha: " + usuarioAutenticarDTO.Senha);
     Console.WriteLine("Acesso:");
     foreach (var item in list)
     {
         Console.WriteLine("\t- " + item.NomePerfil);
     }
 }
Exemple #5
0
        public IActionResult Autenticar(UsuarioAutenticarDTO usuario)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var respostaAutenticarUsuario = _serviceUsuario.Autenticar(ref usuario);

                    if (respostaAutenticarUsuario.Erros.Count() > 0)
                    {
                        ErrosView listaErros = new ErrosView();
                        listaErros.Erros.AddRange(Erros.ListarErros(respostaAutenticarUsuario.Erros));
                        return(View("../Home/ExibirErros", listaErros));
                    }
                    else
                    {
                        if (respostaAutenticarUsuario.RetornoAutenticacaoUsuario)
                        {
                            var respostaPerfilUsuario = _serviceUsuario.ListarPerfilsDeUsuario(usuario);

                            if (respostaPerfilUsuario.Erros.Count() > 0)
                            {
                                ErrosView listaErros = new ErrosView();
                                listaErros.Erros.AddRange(Erros.ListarErros(respostaPerfilUsuario.Erros));
                                return(View("../Home/ExibirErros", listaErros));
                            }
                            else
                            {
                                Login(usuario, respostaPerfilUsuario);
                                return(RedirectToAction("Clientes", "Home"));
                            }
                        }
                        else
                        {
                            ViewBag.AcessoNegado = "Acesso negado";
                            return(View("../Home/Index"));
                        }
                    }
                }
                else
                {
                    return(View("../Home/Index"));
                }
            }
            catch (Exception e)
            {
                ErrosView listaErros = new ErrosView();
                listaErros.Erros.Add(e.Message);
                return(View("../Home/ExibirErros", listaErros));
            }
        }
Exemple #6
0
        private static void CadastrarCliente(UsuarioAutenticarDTO usuario)
        {
            Console.WriteLine("\n\nCadastrar cliente");

            ClienteCadastroDTO clienteDTO = new ClienteCadastroDTO();

            try
            {
                Console.Write("Nome: ");
                clienteDTO.Nome = Console.ReadLine();
                Console.Write("CPF: ");
                clienteDTO.Cpf = Console.ReadLine();
                Console.Write("RG: ");
                clienteDTO.Rg = Console.ReadLine();
                Console.Write("Data de nascimento: ");
                clienteDTO.DataNascimento = Convert.ToDateTime(Console.ReadLine());
                Console.Write("Email: ");
                clienteDTO.Email = Console.ReadLine();
                Console.Write("Número de telefone: ");
                clienteDTO.NumeroTelefone = Console.ReadLine();
                Console.Write("CEP: ");
                clienteDTO.Cep = Console.ReadLine();
                Console.Write("Rua: ");
                clienteDTO.Rua = Console.ReadLine();
                Console.Write("Número da casa: ");
                clienteDTO.Numero = Console.ReadLine();
                Console.Write("Complemento: ");
                clienteDTO.Complemento = Console.ReadLine();
                Console.Write("Bairro: ");
                clienteDTO.Bairro = Console.ReadLine();
                Console.Write("Id cidade: ");
                clienteDTO.IdCidade  = int.Parse(Console.ReadLine());
                clienteDTO.IdUsuario = usuario.IdUsuario;

                ClienteService cliente          = new ClienteService(new ClienteDAL());
                var            respostaCadastro = cliente.CadastrarCliente(clienteDTO);
                if (respostaCadastro != null)
                {
                    ExibirErros(respostaCadastro.Erros);
                }
            }
            catch (Exception e)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(e.Message);
                Console.ForegroundColor = ConsoleColor.White;
            }
        }
Exemple #7
0
        public ListaPerfilsDeUsuarioResultadoDTO ListarPerfilsDeUsuario(UsuarioAutenticarDTO usuarioDTO)
        {
            ListaPerfilsDeUsuarioResultadoDTO listaPerfilsDeUsuarioResultado = new ListaPerfilsDeUsuarioResultadoDTO();
            var erros = ValidacaoService.ValidarErros(usuarioDTO);

            if (erros.Count() > 0)
            {
                listaPerfilsDeUsuarioResultado.Erros.AddRange(erros);
                return(listaPerfilsDeUsuarioResultado);
            }
            else
            {
                listaPerfilsDeUsuarioResultado.PerfilsDeUsuario.AddRange(_usuarioDAL.ListarPerfilsDeUsuario(usuarioDTO));
                return(listaPerfilsDeUsuarioResultado);
            }
        }
Exemple #8
0
        public UsuarioAutenticarResultadoDTO Autenticar(ref UsuarioAutenticarDTO usuarioDTO)
        {
            UsuarioAutenticarResultadoDTO usuarioAutenticarResultado = new UsuarioAutenticarResultadoDTO();
            var erros = ValidacaoService.ValidarErros(usuarioDTO);

            if (erros.Count() > 0)
            {
                usuarioAutenticarResultado.Erros.AddRange(erros);
                return(usuarioAutenticarResultado);
            }
            else
            {
                usuarioAutenticarResultado.RetornoAutenticacaoUsuario = _usuarioDAL.Autenticar(ref usuarioDTO);
                return(usuarioAutenticarResultado);
            }
        }
Exemple #9
0
        public bool Autenticar(ref UsuarioAutenticarDTO usuario)
        {
            try
            {
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = con.Conectar();

                cmd.CommandText = @"SELECT * FROM Usuario WHERE login_usuario = @login AND senha = @senha AND ativo = 0";

                cmd.Parameters.AddWithValue("@login", usuario.Login);
                cmd.Parameters.AddWithValue("@senha", usuario.Senha);

                SqlDataReader dr = cmd.ExecuteReader();

                bool retorno;

                if (dr.HasRows)
                {
                    dr.Read();
                    usuario.IdUsuario = Convert.ToInt32(dr["id_usuario"]);
                    usuario.Login     = dr["login_usuario"].ToString();
                    usuario.Senha     = dr["senha"].ToString();
                    dr.Close();

                    retorno = true;
                }
                else
                {
                    retorno = false;
                }

                con.Desconectar();
                return(retorno);
            }
            catch (Exception e)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(e.Message);
                Console.ForegroundColor = ConsoleColor.White;
                return(false);
            }
        }
        public List <PerfilDeUsuarioDTO> ListarPerfilsDeUsuario(UsuarioAutenticarDTO usuarioDTO)
        {
            List <PerfilDeUsuarioDTO> list = new List <PerfilDeUsuarioDTO>();

            try
            {
                var usuarioModel = new UsuarioModel(usuarioDTO.IdUsuario, usuarioDTO.Login, null);

                var perfils = _database.Acesso.Where(a => a.Id_Usuario == usuarioModel.Id_Usuario).Include(a => a.Perfil).ToList();

                foreach (var perfil in perfils)
                {
                    PerfilDeUsuarioDTO perfilDeUsuarioDTO = new PerfilDeUsuarioDTO();
                    perfilDeUsuarioDTO.IdPerfil   = perfil.Perfil.Id_Perfil;
                    perfilDeUsuarioDTO.NomePerfil = perfil.Perfil.Nome_Perfil;
                    list.Add(perfilDeUsuarioDTO);
                }
            }
            catch (Exception e)
            {
                throw e;
            }
            return(list);
        }
Exemple #11
0
        private static void EnviarAnaliseGerencia(UsuarioAutenticarDTO usuario)
        {
            Console.WriteLine("\n\nEnviar cliente para análise da gerência");

            try
            {
                FluxoDTO fluxoDTO = new FluxoDTO();
                fluxoDTO.IdCliente = InformarIdCliente();
                fluxoDTO.IdUsuario = usuario.IdUsuario;

                FluxoService fluxo         = new FluxoService(new FluxoDAL());
                var          respostaFluxo = fluxo.EnviarAnaliseGerencia(fluxoDTO);
                if (respostaFluxo != null)
                {
                    ExibirErros(respostaFluxo.Erros);
                }
            }
            catch (Exception e)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(e.Message);
                Console.ForegroundColor = ConsoleColor.White;
            }
        }
Exemple #12
0
        private static void CorrecaoDeCadastro(UsuarioAutenticarDTO usuario)
        {
            Console.WriteLine("\n\nCorreção de cadastro");

            try
            {
                FluxoDTO fluxoDTO = new FluxoDTO();
                fluxoDTO.IdCliente = InformarIdCliente();
                fluxoDTO.IdUsuario = usuario.IdUsuario;

                FluxoService fluxo         = new FluxoService(new FluxoDAL());
                var          respostaFluxo = fluxo.CorrecaoDeCadastro(fluxoDTO);
                if (respostaFluxo != null)
                {
                    ExibirErros(respostaFluxo.Erros);
                }
            }
            catch (Exception e)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(e.Message);
                Console.ForegroundColor = ConsoleColor.White;
            }
        }
Exemple #13
0
        static void Main(string[] args)
        {
            Console.WriteLine("\n\nAutenticação");

            try
            {
                UsuarioAutenticarDTO usuarioAutenticarDTO = new UsuarioAutenticarDTO();

                Console.Write("\nLogin: "******"\nSenha: ");
                usuarioAutenticarDTO.Senha = Console.ReadLine();

                UsuarioService usuarioService = new UsuarioService(new UsuarioDAL());

                Console.Clear();

                var respostaAutenticarUsuario = usuarioService.Autenticar(ref usuarioAutenticarDTO);
                if (respostaAutenticarUsuario.Erros.Count() > 0)
                {
                    ExibirErros(respostaAutenticarUsuario.Erros);
                }

                if (respostaAutenticarUsuario.RetornoAutenticacaoUsuario)
                {
                    var respostaPerfilUsuario = usuarioService.ListarPerfilsDeUsuario(usuarioAutenticarDTO);
                    if (respostaPerfilUsuario.Erros.Count() > 0)
                    {
                        ExibirErros(respostaPerfilUsuario.Erros);
                    }

                    ApresentarDadosUsuario(usuarioAutenticarDTO, respostaPerfilUsuario.PerfilsDeUsuario);

                    int opcao = ObterOpcao();

                    while (opcao != 0)
                    {
                        Console.Clear();

                        switch (opcao)
                        {
                        case 1:
                            if (respostaPerfilUsuario.PerfilsDeUsuario.Any(l => l.IdPerfil == (int)EPerfil.Operacao))
                            {
                                CadastrarCliente(usuarioAutenticarDTO);
                            }
                            else
                            {
                                Console.ForegroundColor = ConsoleColor.Red;
                                Console.WriteLine("\n\nAcesso negado");
                                Console.ForegroundColor = ConsoleColor.White;
                            }
                            break;

                        case 2:
                            if (respostaPerfilUsuario.PerfilsDeUsuario.Any(l => l.IdPerfil == (int)EPerfil.Operacao))
                            {
                                EnviarAnaliseGerencia(usuarioAutenticarDTO);
                            }
                            else
                            {
                                Console.ForegroundColor = ConsoleColor.Red;
                                Console.WriteLine("\n\nAcesso negado");
                                Console.ForegroundColor = ConsoleColor.White;
                            }
                            break;

                        case 3:
                            if (respostaPerfilUsuario.PerfilsDeUsuario.Any(l => l.IdPerfil == (int)EPerfil.Gerencia))
                            {
                                EnviarAnaliseControleDeRisco(usuarioAutenticarDTO);     // juntar com aprovar
                            }
                            else
                            {
                                Console.ForegroundColor = ConsoleColor.Red;
                                Console.WriteLine("\n\nAcesso negado");
                                Console.ForegroundColor = ConsoleColor.White;
                            }
                            break;

                        case 4:
                            if (respostaPerfilUsuario.PerfilsDeUsuario.Any(l => l.IdPerfil == (int)EPerfil.Gerencia || l.IdPerfil == (int)EPerfil.Controle_de_risco))
                            {
                                AprovarFluxo(usuarioAutenticarDTO);
                            }
                            else
                            {
                                Console.ForegroundColor = ConsoleColor.Red;
                                Console.WriteLine("\n\nAcesso negado");
                                Console.ForegroundColor = ConsoleColor.White;
                            }
                            break;

                        case 5:
                            if (respostaPerfilUsuario.PerfilsDeUsuario.Any(l => l.IdPerfil == (int)EPerfil.Gerencia || l.IdPerfil == (int)EPerfil.Controle_de_risco))
                            {
                                ReprovarFluxo(usuarioAutenticarDTO);
                            }
                            else
                            {
                                Console.ForegroundColor = ConsoleColor.Red;
                                Console.WriteLine("\n\nAcesso negado");
                                Console.ForegroundColor = ConsoleColor.White;
                            }
                            break;

                        case 6:
                            if (respostaPerfilUsuario.PerfilsDeUsuario.Any(l => l.IdPerfil == (int)EPerfil.Gerencia || l.IdPerfil == (int)EPerfil.Controle_de_risco))
                            {
                                CorrecaoDeCadastro(usuarioAutenticarDTO);
                            }
                            else
                            {
                                Console.ForegroundColor = ConsoleColor.Red;
                                Console.WriteLine("\n\nAcesso negado");
                                Console.ForegroundColor = ConsoleColor.White;
                            }
                            break;

                        case 7:
                            if (respostaPerfilUsuario.PerfilsDeUsuario.Any(l => l.IdPerfil == (int)EPerfil.Operacao))
                            {
                                DevolverCadastro(usuarioAutenticarDTO);
                            }
                            else
                            {
                                Console.ForegroundColor = ConsoleColor.Red;
                                Console.WriteLine("\n\nAcesso negado");
                                Console.ForegroundColor = ConsoleColor.White;
                            }
                            break;

                        default:
                            Console.Clear();
                            Console.ForegroundColor = ConsoleColor.Red;
                            Console.WriteLine("\n\nOpção inválida!!!");
                            Console.ForegroundColor = ConsoleColor.White;
                            break;
                        }

                        ApresentarDadosUsuario(usuarioAutenticarDTO, respostaPerfilUsuario.PerfilsDeUsuario);

                        opcao = ObterOpcao();
                    }
                }
                else
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("\n\nAcesso negado");
                    Console.ForegroundColor = ConsoleColor.White;
                }

                Console.WriteLine("\n\nAté a próxima!!!");
                Console.ReadKey();
            }
            catch (Exception e)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(e.Message);
                Console.ForegroundColor = ConsoleColor.White;
            }
        }