public IActionResult Autenticar(LoginVm dadosLogin) { if (!ModelState.IsValid) { return(View("Login", dadosLogin)); } Cliente cliente = _context.Clientes.FirstOrDefault(c => c.Email == dadosLogin.Email); if (cliente != null) { if (UtilSenha.ValidarSenha(cliente.Senha, dadosLogin.Senha)) { var cookieOptions = new CookieOptions() { Expires = DateTimeOffset.MaxValue, IsEssential = true }; Response.Cookies.Append("ClienteId", cliente.Id.ToString(), cookieOptions); Response.Cookies.Append("ClienteNome", cliente.Nome, cookieOptions); return(RedirectToAction("Index", "Home")); } } ModelState.AddModelError(string.Empty, "Email ou senha inválidos."); return(View("Login", dadosLogin)); }
public IActionResult Alterar(AlterarVm dadosAlterar) { string clienteId = Request.Cookies["ClienteId"]; if (clienteId == null) { return(RedirectToAction("Index", "Home")); } if (!ModelState.IsValid) { return(View("MinhaConta", dadosAlterar)); } Cliente cliente = _context.Clientes.Find(Convert.ToInt32(clienteId)); if (UtilSenha.ValidarSenha(cliente.Senha, dadosAlterar.SenhaAtual)) { cliente.Cidade = dadosAlterar.Cidade; cliente.Estado = dadosAlterar.Estado; cliente.Telefone = dadosAlterar.Telefone; if (!string.IsNullOrWhiteSpace(dadosAlterar.SenhaNova)) { cliente.Senha = UtilSenha.GerarHashSenha(dadosAlterar.SenhaNova); } _context.SaveChanges(); } return(RedirectToAction("MinhaConta", dadosAlterar)); }