示例#1
0
        public async Task <ActionResult> ModificarCuenta(ModificarViewModel usuarioViewModel)
        {
            ViewBag.Title = "ModificarCuenta";
            if (ModelState.IsValid)
            {
                System.Diagnostics.Debug.WriteLine(usuarioViewModel.Email);
                //VerificarSIUsuarioRepetido dentro arma un mensaje para mostrar en el popup con TempData["alerta"]
                if (!VerificarSiUsuarioRepetido(usuarioViewModel))
                {
                    ApplicationUser usuario = await UserManager.FindByRutAsync(usuarioViewModel.Rut);

                    usuario.Email    = String.IsNullOrEmpty(usuarioViewModel.Email) ? usuario.Email : usuarioViewModel.Email;
                    usuario.UserName = String.IsNullOrEmpty(usuarioViewModel.Nombre) ? usuario.UserName : usuarioViewModel.Nombre;
                    usuario.Estado   = usuarioViewModel.Estado ? !usuario.Estado : usuario.Estado;
                    usuario.DisponibilidadVinculacion = usuarioViewModel.DisponibilidadVinculacion ? !usuario.DisponibilidadVinculacion : usuario.DisponibilidadVinculacion;
                    await UserManager.UpdateAsync(usuario);

                    if (!String.IsNullOrEmpty(usuarioViewModel.Password))
                    {
                        await UserManager.ChangePasswordAsync(User.Identity.GetUserId(), usuarioViewModel.Password);
                    }
                    TempData["alerta"] = new Alerta("El usuario se modificó exitosamente.", TipoAlerta.SUCCESS);
                    if (this.RetornarTipoUsuarioAutentificado().Equals("SYSADMIN"))
                    {
                        return(RedirectToAction("ListarUsuarios", new { rut = usuarioViewModel.Rut }));
                    }
                    return(RedirectToAction("Index", "Home"));
                }
            }
            return(View(usuarioViewModel));
        }
示例#2
0
        /*
         * Creador: Maximo Hernandez
         * Accion: Verifica si alguno de los dos valores de usuario, UserName o UserEmail, se encuentran ya en la base de datos
         * Retorno: Boolean - Verdadero si es que existe uno de los dos valores, Falso en caso contrario
         */
        public Boolean VerificarSiUsuarioRepetido(ModificarViewModel usuarioViewModels)
        {
            bool   resultado = false;
            string mensaje   = "";

            if (UserManager.VerificarSiExisteEmail(usuarioViewModels.Email).Result)
            {
                mensaje   += "Correo de usuario en uso. </br>";
                resultado |= true;
            }
            if (UserManager.VerificarSiExisteNombre(usuarioViewModels.Nombre).Result)
            {
                mensaje   += "Nombre de usuario en uso. <br/>";
                resultado |= true;
            }
            if (UserManager.VerificarSiExisteContrasenia(usuarioViewModels.Rut, usuarioViewModels.Password).Result)
            {
                mensaje   += "La contraseña debe ser distinta de la que tiene actualmente. <br/>";
                resultado |= true;
            }
            if (resultado)
            {
                TempData["alerta"] = new Alerta(mensaje, TipoAlerta.ERROR);
            }
            return(resultado);

            /*
             *  if (UserManager.VerificarSiExisteEmail(usuarioViewModels.Email).Result ||
             *  UserManager.VerificarSiExisteNombre(usuarioViewModels.Nombre).Result ||
             *  UserManager.VerificarSiExisteContrasenia(usuarioViewModels.Rut, usuarioViewModels.Password).Result)
             *  return true;
             * return false;
             */
        }
示例#3
0
        public ActionResult Modificar(int id)
        {
            var modelo = new ModificarViewModel();

            modelo.Antecedente = servicioWeb.DevolverAntecedentePorId(id, false);
            modelo.Estados     = servicioWeb.DevolverEstados();
            return(View(modelo));
        }
示例#4
0
        public ActionResult Modificar(int id)
        {
            var modelo = new ModificarViewModel();

            modelo.Agresor            = servicioWeb.DevolverAgresorPorId(id, true, true, true);
            modelo.Localidades        = servicioWeb.DevolverLocalidad();
            modelo.TiposDirecciones   = servicioWeb.DevolverTiposDirecciones();
            modelo.TiposRedesSociales = servicioWeb.DevolverTiposRedesSociales();
            modelo.TiposTelefonos     = servicioWeb.DevolverTiposTelefonos();
            return(View(modelo));
        }
示例#5
0
        public async Task <ActionResult> ModificarCuenta(string rut)
        {
            ViewBag.Title = "ModificarCuenta";
            if (!String.IsNullOrEmpty(rut))
            {
                ApplicationUser usuario = await UserManager.FindByRutAsync(rut);

                if (usuario != null)
                {
                    ModificarViewModel model = new ModificarViewModel(usuario);
                    return(View(model));
                }
                TempData["alerta"] = new Alerta("Hubo un error al obtener al usuario.", TipoAlerta.ERROR);
            }
            return(RedirectToAction("Index", "Home"));
        }