# VUserList

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

## Indice de funciones

### **Constructor**

[VUserList](#vuserlist)()

### **Funciones generales**

void [append](#append)( VUser user )

void [append](#void-append-vuserlist-userlist-)( VUserList userList )

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](https://doc.velneo.com/32/velneo-vdevelop/scripts/lenguajes/javascript/clases/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](https://doc.velneo.com/32/velneo-vdevelop/scripts/lenguajes/javascript/clases/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());
          };
     };
};
```
