Пример #1
0
        public async Task <ActionResult> ActualizarUsuario(ActualizarUsuarioViewModel model)
        {
            var user = UserManager.FindById(model.UserId);

            user.Id            = model.UserId;
            user.UserName      = model.Email;
            user.Email         = model.Email;
            user.Apellidos     = model.Apellidos;
            user.Nombres       = model.Nombres;
            user.PhoneNumber   = model.Telefono;
            user.Documento     = model.Documento;
            user.TipoDocumento = model.TipoDocumento;

            var result = await UserManager.UpdateAsync(user);

            if (!UserManager.IsInRole(user.Id, model.Rol))
            {
                var rolesUser            = UserManager.GetRoles(user.Id);
                var restulRolEliminacion = await UserManager.RemoveFromRolesAsync(user.Id, rolesUser.ToArray());

                if (!restulRolEliminacion.Succeeded)
                {
                    AddErrors(restulRolEliminacion);
                }
                else
                {
                    var rol       = _securityManager.GetRolesById(model.Rol);
                    var restulRol = await UserManager.AddToRoleAsync(user.Id, rol.Name);

                    if (!restulRol.Succeeded)
                    {
                        AddErrors(restulRol);
                    }
                }
            }

            if (result.Succeeded)
            {
                return(RedirectToAction("ListarUsuarios"));
            }

            AddErrors(result);

            var roles = _securityManager.GetRoles();

            model.Roles          = new SelectList(roles, "Id", "Name", 1);
            model.TiposDocumento = new SelectList(_catalogos.ObtenerCatalogoPorTipo(CatalogosEnum.TipoDocumento), "Value", "Text", 1);
            return(View(model));
        }
Пример #2
0
        public async Task <IActionResult> Actualizar(ActualizarUsuarioViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (model.UsuarioId <= 0)
            {
                return(BadRequest());
            }

            var usuario = await _context.Usuario.FirstOrDefaultAsync(c => c.UsuarioId == model.UsuarioId);

            if (usuario == null)
            {
                return(NotFound());
            }

            usuario.Nombre              = model.Nombre;
            usuario.Apellido            = model.Apellido;
            usuario.TipIdentificacionId = model.TipIdentificacionId;
            usuario.Identificcion       = model.Identificcion;
            usuario.Correo              = model.Correo;
            usuario.Password            = model.Password;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                //Guardar Excepción
                return(BadRequest());
            }

            return(Ok());
        }
Пример #3
0
        public ActualizarUsuarioViewModel MapDataAModel(ApplicationUser user)
        {
            ActualizarUsuarioViewModel result = new ActualizarUsuarioViewModel();

            if (user == null)
            {
                return(result);
            }

            result = new ActualizarUsuarioViewModel
            {
                UserId        = user.Id,
                Apellidos     = user.Apellidos,
                Nombres       = user.Nombres,
                Documento     = user.Documento,
                TipoDocumento = user.TipoDocumento,
                Telefono      = user.PhoneNumber,
                Email         = user.Email,
                Estado        = user.LockoutEnabled ? "Activo" : "Inactivo",
                Rol           = user.Roles.FirstOrDefault()?.RoleId
            };

            return(result);
        }