public async Task <IActionResult> ChangePassword(ChangePasswordViewModel changePasswordViewModel) { var validateToken = await ValidatedToken(_configuration, _getHelper, "catalogo"); if (validateToken != null) { return(validateToken); } bool band = true; if (ModelState.IsValid) { if (changePasswordViewModel.PasswordEncrypt != changePasswordViewModel.ConfirmPasswordEncrypt) { TempData["toast"] = "Contraseñas distintas, verifique su información"; band = false; } var usuario = await _context.Usuarios.FindAsync(token.UsuarioID); if (usuario == null) { TempData["toast"] = "Identificador incorrecto, usuario inexistente."; band = false; } if (band) { try { usuario.Password = _criptografiaHelper.Encrypt(changePasswordViewModel.PasswordEncrypt); _context.Update(usuario); await _context.SaveChangesAsync(); TempData["toast"] = "Su contraseña ha sido actualizada con éxito."; return(RedirectToAction("Sesion", "Menu")); } catch (Exception) { TempData["toast"] = "Error al actualizar el cambio de contraseña."; } } } else { TempData["toast"] = "Proporcione la contraseña y confirme la información."; } changePasswordViewModel.ConfirmPassword = ""; changePasswordViewModel.ConfirmPasswordEncrypt = ""; changePasswordViewModel.Password = ""; changePasswordViewModel.PasswordEncrypt = ""; return(View(changePasswordViewModel)); }
public async Task <IActionResult> SignIn([Bind("Email, Password")] InicioSesionViewModel inicioSesionViewModel) { var validateToken = await ValidatedToken(_configuration, _getHelper, "signin", false); if (validateToken != null) { return(validateToken); } if (ModelState.IsValid) { string email = inicioSesionViewModel.Email.Trim().ToLower(); Usuario usuario = await(from u in _context.Usuarios join c in _context.Colaboradores on u.ColaboradorID equals c.ColaboradorID where c.Email == email select u).FirstOrDefaultAsync(); if (usuario == null) { TempData["toast"] = "Correo electrónico inexistente, verifique"; return(View(inicioSesionViewModel)); } var pwd = _criptografia.Encrypt(inicioSesionViewModel.Password); if (usuario.Password != pwd) { TempData["toast"] = "Credenciales Incorrectas, verifique"; return(View(inicioSesionViewModel)); } HttpContext.Session.SetString("LAMBusiness", HttpContext.Session.Id); string sessionId = HttpContext.Session.GetString("LAMBusiness"); string directorioSesion = _configuration.GetValue <string>("DirectorioSesion"); var resultado = await _getHelper .SetTokenByUsuarioIDAsync(sessionId, usuario.UsuarioID, directorioSesion); if (resultado.Error) { ModelState.AddModelError(string.Empty, resultado.Mensaje); return(View(inicioSesionViewModel)); } TempData["toast"] = "¡Qué gusto tenerte de vuelta!"; await BitacoraAsync("InicioSesion", resultado); return(RedirectToAction("Inicio", "menu")); } ModelState.AddModelError(string.Empty, "Credenciales Incorrectas"); return(View(inicioSesionViewModel)); }