F2 avanzada

This commit is contained in:
2026-08-10 23:00:56 -03:00
parent 12b7b0f4b2
commit b4b25e49e0
49 changed files with 1304 additions and 227 deletions
+9 -9
View File
@@ -167,8 +167,8 @@ namespace vita_asistente.Controllers
RolesDisponibles = todosLosRoles.Select(r => new RoleCheckbox
{
RoleId = r.Id,
RoleName = r.Name,
IsSelected = rolesDelUsuario.Contains(r.Name)
RoleName = r.Name ?? string.Empty,
IsSelected = rolesDelUsuario.Contains(r.Name ?? string.Empty)
}).ToList()
};
return View(model);
@@ -183,7 +183,7 @@ namespace vita_asistente.Controllers
if (usuario == null) return NotFound();
var rolesDelUsuario = await _userManager.GetRolesAsync(usuario);
var rolesSeleccionados = model.RolesDisponibles.Where(r => r.IsSelected).Select(r => r.RoleName).ToList();
var rolesSeleccionados = model.RolesDisponibles.Where(r => r.IsSelected).Where(r => !string.IsNullOrEmpty(r.RoleName)).Select(r => r.RoleName).ToList();
// Remover roles que ya no están seleccionados
var rolesAEliminar = rolesDelUsuario.Except(rolesSeleccionados).ToList();
@@ -206,15 +206,15 @@ namespace vita_asistente.Controllers
// ViewModels para la gestión de roles (dentro del mismo archivo por simplicidad)
public class ManageRolesViewModel
{
public string UsuarioId { get; set; }
public string UsuarioNombre { get; set; }
public List<RoleCheckbox> RolesDisponibles { get; set; }
public required string UsuarioId { get; set; }
public required string UsuarioNombre { get; set; }
public required List<RoleCheckbox> RolesDisponibles { get; set; }
}
public class RoleCheckbox
public class RoleCheckbox
{
public string RoleId { get; set; }
public string RoleName { get; set; }
public required string RoleId { get; set; }
public required string RoleName { get; set; }
public bool IsSelected { get; set; }
}
}