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)); }
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()); }
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); }