public ActionResult Editar(int id, Usuario usuario, int listIdRol, string txtContrasena, string txtConfirmarContrasena) { try { if (txtContrasena.Equals(txtConfirmarContrasena)) { if (!txtContrasena.Equals("") && !txtConfirmarContrasena.Equals("")) { if (!ModelState.IsValid) { ModelState.AddModelError("", "Usuario o Password Incorrectos"); return(View()); } else { clsUsuario ObjUsuario = new clsUsuario(); clsBitacoraUsuario objBitacoraUsuarios = new clsBitacoraUsuario(); ViewBag.Lista = ObjUsuario.ConsultarRoles().ToList(); int ultimoId = ObjUsuario.ConsultarUltimoIdUsuario(); var ultimoUsuario = ObjUsuario.ConsultaUsuario(ultimoId); IList <DAL.ConsultarUltimaClaveUsuarioResult> clave = new List <DAL.ConsultarUltimaClaveUsuarioResult>(); int UltimoID = ObjUsuario.ConsultarUltimoIdUsuario(); clave = ObjUsuario.ConsultarUltimaClaveUsuario(); string claveEncriptada = Seguridad.Encriptar(txtConfirmarContrasena); ObjUsuario.ActualizarEditarUsuario(usuario.idUsuario, listIdRol, usuario.UserName, claveEncriptada, true); ObjUsuario.ActualizarContrasenaUsuario(ultimoId, clave.ElementAt(0).clave); bool Resultado = true; string nombreUsuario = (string)Session["Usuario"]; int IdUsuario = ObjUsuario.ConsultarIdUsuario(nombreUsuario); objBitacoraUsuarios.ActualizarBitacoraUsuario(usuario.idUsuario, IdUsuario, nombreUsuario, DateTime.Now, listIdRol, usuario.UserName, claveEncriptada, true); if (Resultado) { TempData["exitoMensaje"] = "El usuario se ha modificado exitosamente."; return(RedirectToAction("Editar")); } else { return(View("Editar")); } } } else { TempData["errorMensaje"] = "Inserte un nombre de usuario."; return(RedirectToAction("Editar")); } } else { TempData["errorMensaje"] = "Las contraseñas ingresadas en los campos no coinciden."; return(RedirectToAction("Editar")); } } catch (Exception) { TempData["errorMensaje"] = "Todos los campos son obligatorios."; return(View("Editar")); } }