# VUserList

Representa a una lista de usuarios declarados en el servidor de aplicaciones.

Esta clase se ha incorporado al API en la versión 7.16.

## Funciones

**Constructor**

| Función                   |
| ------------------------- |
| [VUserList](#vuserlist)() |

**Funciones generales**

| Retorno        | Función                                                          |
| -------------- | ---------------------------------------------------------------- |
| void           | [append](#append)( VUser user )                                  |
| void           | [append](#void-append-vuserlist-userlist-)( VUserList userList ) |
| [VUser](vuser) | [getAt](#getat)( Number index )                                  |
| void           | [removeAll](#removeall)()                                        |
| void           | [removeAt](#removeat)( Number index )                            |
| Number         | [size](#size)()                                                  |
| void           | [sortByFullName](#sortbyfullname)()                              |
| void           | [sortById](#sortbyid)()                                          |
| void           | [sortByName](#sortbyname)()                                      |

## Documentación de funciones

### Constructor

#### VUserList() <a href="#vuserlist" id="vuserlist"></a>

Constructor. Crea una instancia de objeto de la clase VUserList.

### Funciones generales

#### void append( VUser user ) <a href="#append" id="append"></a>

Añade un usuario a la lista.

Parámetros:

* user: objeto de la clase [VUser](vuser).

#### void append( VUserList userList )

Añade una lista de usuarios a la lista.

Parámetros:

* userList: objeto de la clase VUserList.

#### VUser getAt( Number index ) <a href="#getat" id="getat"></a>

Devuelve un objeto de la clase [VUser](vuser) con el usuario correspondiente a la posición especificada en el parámetro index.

Parámetros:

* index: número que contiene la posición del usuario en la lista. La primera posición es la 0.

#### void removeAll() <a href="#removeall" id="removeall"></a>

Quitar todos los usuarios de la lista. Es decir, deja una lista de usuarios vacía. Esta función no elimina los usuarios del servidor.

#### void removeAt( Number index ) <a href="#removeat" id="removeat"></a>

Quitar de la lista de usuarios el usuario que ocupa la posición indicada en el parámetro index.

Esta función no elimina los usuarios del servidor.

Parámetros:

* index: número que contiene la posición del usuario en la lista. La primera posición es la 0.

#### Number size() <a href="#size" id="size"></a>

Devuelve el tamaño de lista, es decir el número de usuarios que contiene la lista.

#### void sortByFullName() <a href="#sortbyfullname" id="sortbyfullname"></a>

Clasifica la lista de usuarios por el nombre completo de los usuarios.

#### void sortById() <a href="#sortbyid" id="sortbyid"></a>

Clasifica la lista de usuarios por el id de los usuarios.

#### void sortByName() <a href="#sortbyname" id="sortbyname"></a>

Clasifica la lista de usuarios por el nombre de los usuarios.

## Ejemplos

### Ejemplo de como leer los usuarios y sus grupos

```javascript
//-------------------------------
//Leer usuarios y sus grupos
//-------------------------------
importApi("AdminApi");
var listaUsuarios = new VUserList();
if (theServerAdmin.getAllUsers(listaUsuarios))
{
     var usuario = new VUser();
     var grupo = new VUserGroup();
     var numUsuarios = listaUsuarios.size();

     for (var numUsuario = 0; numUsuario < numUsuarios; numUsuario++)
     {
          usuario = listaUsuarios.getAt(numUsuario);
          alert("Usuario: " + usuario.id() + " " + usuario.name());

          numGrupos = usuario.groupCount();

          for (var numGrupo = 0; numGrupo < numGrupos; numGrupo++)
          {
               theServerAdmin.getUserGroupById(usuario.groupCodeAt(numGrupo), grupo);
               alert("Grupo: " + grupo.id() + " " + grupo.name());
          };
     };
};
```
