// Get: CuentaDeUsuario/GestionarPerfil /// <summary> /// /// </summary> /// <param name="usuarioActual"> Este campo se manejado por el Binder UsuarioActualModelBinder</param> /// <returns></returns> public ActionResult GestionarPerfil(UsuarioActualMVC usuarioActual) { if (usuarioActual.ExisteUnUsuarioActual) { var modelo = new CuentaDeUsuarioGestionarPerfilViewModel(); modelo.NombreDeUsuario = usuarioActual.NombreUsuario; return(View(modelo)); } else { return(RedireccionLocal()); } }
public ActionResult CambiarContrasena(UsuarioActualMVC usuarioActual, [Bind(Prefix = "CambioDeContrasenaVM")] CuentaDeUsuarioCambiarContraseñaViewModel modelo) { var resultado = new ResultadoLLamadoAjax(); if (ModelState.IsValid) { try { IPasswordHasher passwordHasher = null; IdentityResult validador = null; if (!Convertidor.ContraseñaValida(modelo.ContrasenaNueva, out passwordHasher, out validador)) { throw new ContraseñaInvalidaException(string.Join(",", validador.Errors)); } var passwordHash = passwordHasher.HashPassword(modelo.ContrasenaNueva); UnidadDeTrabajo.UsuarioRepositorio.CambiarPasswordHashPorIdUsuario(usuarioActual.UsuarioId, passwordHash); resultado.LLamadoExitoso = true; } catch (ContraseñaInvalidaException ex) { //ModelState.AddModelError("Contraseña", "La contraseña no es lo suficientemente segura. Por favor ingrese una contraseña de mayor complejidad"); var mensajeDeError = new CamposInvalidos() { NombreDelCampo = "CambioDeContrasenaVM.ContrasenaNueva", MensajeDeError = "La contraseña no es lo suficientemente segura. Por favor ingrese una contraseña de mayor complejidad" }; resultado.CamposInvalidos.Add(mensajeDeError); } catch (Exception ex) { resultado.MensajeDeErrorGeneral = "Ocurrio Un error"; } return(Json(resultado)); } else { resultado.CamposInvalidos = ErroresDelModeloComoCamposInvalidos; return(Json(resultado)); } }
public ActionResult Index(UsuarioActualMVC usuarioActual) { try { var usuariosBD = UnidadDeTrabajo.UsuarioRepositorio.Listar(); var inicioViewModel = new UsuarioInicioViewModel(); inicioViewModel.Usuarios = Convertidor.Obtener(usuariosBD); inicioViewModel.UsuarioActualId = usuarioActual.UsuarioId; return(View(inicioViewModel)); } catch (Exception e) { //GenerarNotificacionDeError("No fue posible cargar la pagina si el problem persiste por favor comuniquese con el administrador"); return(RedireccionLocal()); } }
public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { UsuarioActualMVC usuarioActual = new UsuarioActualMVC(); if (System.Web.HttpContext.Current != null && System.Web.HttpContext.Current.User != null && System.Web.HttpContext.Current.User.Identity != null) { string userId = System.Web.HttpContext.Current.User.Identity.GetUserId(); if (userId != null && System.Web.HttpContext.Current.GetOwinContext() != null && System.Web.HttpContext.Current.GetOwinContext().GetUserManager <ApplicationUserManager>() != null) { ApplicationUser user = System.Web.HttpContext.Current.GetOwinContext().GetUserManager <ApplicationUserManager>().FindById(userId); usuarioActual = new UsuarioActualMVC() { UsuarioId = userId, InformacionDeUsuarioComoApplicationUser = user }; } } return(usuarioActual); }