diff --git a/Microservicios/MsUsuarios/Controllers/UsuariosController.cs b/Microservicios/MsUsuarios/Controllers/UsuariosController.cs index 836e5c7..0f942ac 100644 --- a/Microservicios/MsUsuarios/Controllers/UsuariosController.cs +++ b/Microservicios/MsUsuarios/Controllers/UsuariosController.cs @@ -640,19 +640,19 @@ namespace MSAdminUsuarios.Controllers USUARIO? creado = await _context.USUARIOSMs.FirstOrDefaultAsync(us => us.TX_UUID_USUMS == nuevo.usuario.TX_UUID_USUMS); - if (nuevo.perfiles != null) + if (nuevo.perfiles != null && creado!=null) { var count = 0; // Se cambia a estado 0 todos los perfiles por usuario existentes - var existe_plfxusu = _context.PERFILESPORUSUARIOs.Where(x => x.BL_ESTADO_PFLXUSU == 1 && x.TX_UUID_USUMS == nuevo.usuario.TX_UUID_USUMS).ToList(); + var existe_plfxusu = _context.PERFILESPORUSUARIOs.Where(x => x.BL_ESTADO_PFLXUSU == 1 && x.TX_UUID_USUMS == creado.TX_UUID_USUMS).ToList(); - foreach (var cu in existe_plfxusu) + foreach (var pu in existe_plfxusu) { - cu.BL_ESTADO_PFLXUSU = 0; + pu.BL_ESTADO_PFLXUSU = 0; } _context.PERFILESPORUSUARIOs.UpdateRange(existe_plfxusu); - await _context.SaveChangesAsync(); + _context.SaveChanges(); foreach (var pxu in nuevo.perfiles) { @@ -669,8 +669,8 @@ namespace MSAdminUsuarios.Controllers //Si existe activamos estado 1 del perfil existe.BL_ESTADO_PFLXUSU = 1; _context.Update(existe); - await _context.SaveChangesAsync(); - continue; + _context.SaveChanges(); + } else { @@ -678,15 +678,22 @@ namespace MSAdminUsuarios.Controllers { _errorModel.error = true; _errorModel.cuerpo.Add($"Perfil por usuario #{count} sin valores"); - continue; - } - + + } else + { pxu.BL_ESTADO_PFLXUSU = 1; pxu.TX_UUID_USUMS = nuevo.usuario.TX_UUID_USUMS; _context.PERFILESPORUSUARIOs.Add(pxu); - await _context.SaveChangesAsync(); + _context.SaveChanges(); + + } + } } + List perUsuEliminiado = _context.PERFILESPORUSUARIOs.Where(pu => pu.TX_UUID_USUMS == creado.TX_UUID_USUMS && pu.BL_ESTADO_PFLXUSU == 0).ToList(); + _context.PERFILESPORUSUARIOs.RemoveRange(perUsuEliminiado); + _context.SaveChanges(); + List all = new List();