示例#1
0
        // GET: Usuario/Editar/5
        public ActionResult Editar(string Id)
        {
            if (string.IsNullOrEmpty(Id))
            {
                return(RedirectToAction("index"));
            }

            try
            {
                var usuarioBD = UnidadDeTrabajo.UsuarioRepositorio.ConsultarPorId(Id);

                if (usuarioBD == null)
                {
                    return(RedirectToAction("Inicio"));
                }

                UsuarioEditarViewModel usuario = Convertidor.ObtenerUEVM(usuarioBD);

                return(View(usuario));
            }
            catch (Exception e)
            {
                return(RedirectToAction("Index"));
            }
        }
示例#2
0
        public ActionResult Editar()
        {
            UsuarioEditarViewModel model = new UsuarioEditarViewModel
            {
                Id            = usuario.Id,
                Nombre        = usuario.Nombre,
                NombreUsuario = usuario.NombreUsuario,
                Email         = usuario.Email
            };

            return(View(model));
        }
示例#3
0
 public static TabUsuario Obtener(UsuarioEditarViewModel usuario)
 {
     return(new TabUsuario()
     {
         Ci2UsuarioId = usuario.UsuarioId,
         Ci2AutenticacionDosEtapasActivado = usuario.AutenticacionDosEtapasActivado,
         Ci2BloqueoActivado = usuario.BloqueoActivado,
         Ci2CorreoElectronico = usuario.CorreoElectronico,
         Ci2CorreoElectronicoConfirmado = usuario.CorreoElectronicoConfirmado,
         Ci2FechaBloqueoUtc = usuario.FechaBloqueoUtc,
         Ci2NombreUsuario = usuario.NombreUsuario,
         Ci2NumeroAccesosFallidos = usuario.NumeroAccesosFallidos,
         Ci2NumeroTelefonico = usuario.NumeroTelefonico,
         Ci2NumeroTelefonicoConfirmado = usuario.NumeroTelefonicoConfirmado,
     });
 }
示例#4
0
        public ActionResult Editar(UsuarioEditarViewModel usuario)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    TabUsuario usuarioDB = Convertidor.Obtener(usuario);
                    UnidadDeTrabajo.UsuarioRepositorio.ActualizarSinModifcarContraseñaYSecurityStamp(usuarioDB);

                    return(RedirectToAction("Index"));
                }
                else
                {
                    return(View(usuario));
                }
            }
            catch (Exception e)
            {
                return(RedirectToAction("Index"));
            }
        }
示例#5
0
        public ActionResult Editar(UsuarioEditarViewModel model)
        {
            if (ModelState.IsValid)
            {
                Usuario usuario = new Usuario {
                    Id            = model.Id,
                    Nombre        = model.Nombre,
                    NombreUsuario = model.NombreUsuario,
                    Email         = model.Email
                };

                UsuarioManager.Editar(usuario);
                Session[Constantes.KeyCurrentUser] = usuario;
                TempData["Msg"] = "Los cambios fueron realizados correctamente";
            }
            else
            {
                TempData["Msg"] = "Error al realizar cambios";
            }

            return(RedirectToAction("Detalle", "Usuario"));
        }
示例#6
0
        public async Task <ActionResult> ModificarUsuario(string Correo, [FromBody] UsuarioEditarViewModel usuario)
        {
            var correo_usuario_logeado = User.Claims.FirstOrDefault(c => c.Type == "Email").Value;

            if (!correo_usuario_logeado.Equals(Correo))
            {
                return(BadRequest(new ApiResponseFormat()
                {
                    Estado = StatusCodes.Status400BadRequest, Mensaje = "Ocurrio un error, verifique que su sesion este activa o que esten bien sus datos"
                }));
            }

            try
            {
                Usuario useredit = await _userManager.FindByEmailAsync(correo_usuario_logeado);

                if (useredit != null)
                {
                    useredit.UserName = usuario.Nick;
                    if (usuario.Correo != useredit.Email)
                    {
                        useredit.Email = usuario.Correo;
                        var            claim       = User.Claims.FirstOrDefault(c => c.Type == "Email");
                        IdentityResult claimresult = await _userManager.ReplaceClaimAsync(useredit, claim, new Claim("Email", useredit.Email));
                    }

                    if (!string.IsNullOrEmpty(usuario.Contrasenia))
                    {
                        IdentityResult passresult = await _passwordValidator.ValidateAsync(_userManager, useredit, usuario.Contrasenia);

                        if (passresult.Succeeded)
                        {
                            useredit.PasswordHash = _passwordHasher.HashPassword(useredit, usuario.Contrasenia);
                        }
                    }

                    IdentityResult result = await _userManager.UpdateAsync(useredit);

                    if (result.Succeeded)
                    {
                        return(Ok(new ApiResponseFormat()
                        {
                            Estado = StatusCodes.Status200OK, Mensaje = "Datos modificados con exito", Dato = useredit
                        }));
                    }
                    else
                    {
                        return(StatusCode(StatusCodes.Status304NotModified, new ApiResponseFormat()
                        {
                            Estado = StatusCodes.Status304NotModified, Dato = result.Errors
                        }));
                    }
                }

                return(NotFound(new ApiResponseFormat()
                {
                    Estado = StatusCodes.Status404NotFound, Mensaje = "IUsuario invalido"
                }));
            }
            catch (DbUpdateConcurrencyException ex)
            {
                return(BadRequest(new ApiResponseFormat()
                {
                    Estado = ex.HResult, Mensaje = ex.Message
                }));
            }
        }