Пример #1
0
 // 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());
     }
 }
Пример #2
0
        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));
            }
        }
Пример #3
0
        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());
            }
        }
Пример #4
0
        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);
        }