Visualizar la información de los usuarios de Office365 Users

En nuestro app debemos conectar Office 365 Users.


Creamos un Screen con la siguiente estructura.


Un Combobox.


Y algunos Label para mostrar la información o TextInput por si deseas modificar la información obtenida y una imagen para mostrar la foto de usuario.
Agregaremos en Media la imagen_usuario.png, dicha imagen la mostraremos cuando el usuario seleccionado con tenga una foto en Office365 Users.



En el evento Item del Combobox copiamos el siguiente código:
If(
    Len(Self.SearchText) > 2,
    Office365Users.SearchUserV2({searchTerm: Self.SearchText, top: 15}).value,
    Blank()
)
Al teclear un nombre en el Combobox, muestra los 15 primeros registros que tengan las incidencias en Office365 Users con SearchUserV2, en caso de no encontrar nada nuestra vacío.

En el evento OnChange del Combobox tecleamos el siguiente código:

//Limpia las variables para evitar mostrar datos del usuario anterior
UpdateContext({var_datos: Blank()});
UpdateContext({var_foto: imagen_usuario});
UpdateContext({var_jefe: Blank()});

If(!IsBlank(Self.Selected.Id),
    //Obtiene el Id de usuario usando el GUID con UserProfileV2
    IfError(
        UpdateContext({var_datos: Office365Users.UserProfileV2(Self.Selected.Id)}),
        UpdateContext({var_datos: {displayName: Self.Selected.DisplayName, mail: Self.Selected.Mail} })
    );

    //Obtiene la foto del usuario con UserPhotoMetadata
    If(
        Office365Users.UserPhotoMetadata(Self.Selected.Id).HasPhoto,
        IfError(
            UpdateContext({var_foto: Office365Users.UserPhotoV2(Self.Selected.Id)}),
            UpdateContext({var_foto: img_usuario})
        )
    );

    //Obtiene el jefe del usuario con ManagerV2
    UpdateContext({var_jefe:
        IfError(
            Office365Users.ManagerV2(Self.Selected.Id),
            {displayName: "Sin jefe", mail: var_jefe.mail}
        )
    });
)
 
Utilizaremos Office365Users.UserProfileV2(Self.Selected.Id) aunque también podemos utilizar Office365Users.UserProfileV2(Self.Selected.Mail) para realizar la búsqueda de la información del usuario.

En el evento Default de cada TextInput teclearemos:
Nombre = var_datos.displayName
Puesto = var_datos.jobTitle
Email = var_datos.mail
Departamento = var_datos.departament
Compañía var_datos.companyName
ID: var_datos.id
Reporta a = var_jefe.mail

En el evento  Image de la imagen tecleamos:
Coalesce(var_foto, imagen_usuario)
En caso de no tener foto el usuario se muestra imagen_usuario.png.

Ejecutamos la Screen, tecleamos un nombre en el Combobox y se visualizarán las coincidencias.


Al seleccionar un usuario se mostrará la información guardada en Office365 Users de dicho usuario.


Publicar un comentario

Artículo Anterior Artículo Siguiente