public void quitarFamilia(Usuario usuario, Familia familia) { //chequear si hay al menos un usuario con cada patente de esta familia List <Patente> patentes = PatenteService.getInstance().obtenerPatentesAsignadas(familia); foreach (Patente p in patentes.ToList()) { if (tieneUsuarioRelacionado(p)) { patentes.Remove(p); } } if (patentes.Count > 0) { //reviso si esta asociado a otras familias y si tienen usuarios relacionados foreach (Patente p in patentes.ToList()) { if (tieneFamiliasRelacionadasConUsuarios(p, familia.Id)) { patentes.Remove(p); } } } if (patentes.Count > 0) { throw new ProEasyException(54, "La Familia dejara patentes sin asignar"); } familiaMapper.quitarFamilia(usuario, familia); verificadorService.actualizarDVV("USUARIO_FAMILIA"); BitacoraService.getInstance().crear( Bitacora.builder() .Criticidad("ALTA") .Descripcion("SE DESASIGNO LA FAMILIA: " + familia.Nombre + " AL USUARIO: " + usuario.Username) .Funcionalidad("FAMILIA") .Fecha(DateTime.Now) .Usuario(Session.getInstance().Usuario) .build() ); }
private bool tieneUsuarioRelacionado(Patente p) { return(PatenteService.getInstance().tieneUsuarioRelacionado(p)); }