Exemplo n.º 1
0
        public IActionResult EditarSenha(AlterarSenhaModel senhaModel)
        {
            var email = HttpContext.User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.Email)?.Value;

            Cliente clienteDb = _facade.Query <Cliente>(c => c.Usuario.Email == email,
                                                        c => c,
                                                        c => c.Usuario).FirstOrDefault();

            _vh = new AlterarSenhaViewHelper
            {
                ViewModel = senhaModel
            };

            Cliente clienteSenhaNova  = (Cliente)_vh.Entidades[typeof(Cliente).Name];
            Cliente clienteSenhaVelha = (Cliente)_vh.Entidades[$"{typeof(Cliente).Name}Antigo"];

            string senhaNova  = clienteSenhaNova.Usuario.Senha;
            string senhaVelha = clienteSenhaVelha.Usuario.Senha;

            if (GerenciadorLogin.comparaSenha(senhaVelha, clienteDb.Usuario.Senha))
            {
                clienteDb.Usuario.Senha = senhaNova;
                string msg = _facade.Editar(clienteDb);
                if (msg == "")
                {
                    return(RedirectToAction(nameof(Detalhes)));
                }
                TempData["Alert"] = msg;
            }

            return(RedirectToAction(nameof(Detalhes)));
        }
Exemplo n.º 2
0
        public IActionResult Login(PaginaLoginModel usuario)
        {
            if (String.IsNullOrEmpty(usuario.Senha) || String.IsNullOrEmpty(usuario.Username))
            {
                ViewData["Alert"] = "Username e/ou senha incorreta.";
                return(View(new PaginaLoginModel {
                    Falhou = true
                }));
            }

            _vh = new PaginaLoginViewHelper
            {
                ViewModel = usuario
            };

            Cliente clienteLogin = new Cliente
            {
                Usuario = (Usuario)_vh.Entidades[typeof(Usuario).Name]
            };

            Cliente clienteDb = _facade.Query <Cliente>(
                c => c.Usuario.Email == clienteLogin.Usuario.Email,
                c => c,
                c => c.Usuario).FirstOrDefault();

            if (clienteDb != null)
            {
                if (GerenciadorLogin.comparaSenha(usuario.Senha, clienteDb.Usuario.Senha))
                {
                    HttpContext.SignInAsync(GerenciadorLogin.FazerLogin(clienteDb));

                    if (HttpContext.User.IsInRole("1") || HttpContext.User.IsInRole("2"))
                    {
                        return(RedirectToAction("Home", "Admin"));
                    }
                    return(RedirectToAction("Index", "Home"));
                }
                ViewData["Alert"] = "Senha incorreta.";
                return(View(new PaginaLoginModel
                {
                    Username = clienteLogin.Usuario.Email,
                    Falhou = true
                }));
            }
            ViewData["Alert"] = "Username e/ou senha incorreta.";
            return(View(new PaginaLoginModel {
                Falhou = true
            }));
        }
 public AccountController(GerenciadorUsuarios userManager, GerenciadorLogin signInManager)
 {
     UserManager   = userManager;
     SignInManager = signInManager;
 }