Aller au contenu principal

IFormulaireClient

Client pour récupérer les formulaires configurés dans MCM.

public interface IFormulaireClient : IBaseClient

Méthodes

GetAllFormulaires

Récupère tous les formulaires disponibles.

Task<ErrorOr<IEnumerable<B2BFormulaireItem>>> GetAllFormulaires()

Retour: Liste des formulaires avec leurs identifiants et noms.

Exemple:

var result = await _formulaireClient.GetAllFormulaires();

if (result.IsError)
{
_logger.LogError("Erreur: {Error}", result.FirstError.Description);
return;
}

foreach (var formulaire in result.Value)
{
Console.WriteLine($"Formulaire: {formulaire.Nom} (ID: {formulaire.Id})");
}

Cas d'utilisation

Afficher les formulaires disponibles

public class FormulaireService
{
private readonly IFormulaireClient _formulaireClient;

public FormulaireService(IFormulaireClient formulaireClient)
{
_formulaireClient = formulaireClient;
}

public async Task<List<SelectOption>> GetFormulairesSelectListAsync()
{
var result = await _formulaireClient.GetAllFormulaires();

if (result.IsError)
{
return new List<SelectOption>();
}

return result.Value
.Select(f => new SelectOption
{
Value = f.Id.ToString(),
Label = f.Nom
})
.ToList();
}
}

Utilisation avec ICourrielClient

Les formulaires sont souvent utilisés avec ICourrielClient pour envoyer des invitations :

public async Task EnvoyerInvitationFormulaireAsync(
string idExterneEmploye,
int formulaireId)
{
var request = new B2BEnvoyerFormulaire
{
IdExterneEmploye = idExterneEmploye,
FormulaireId = formulaireId
};

var result = await _courrielClient.EnvoyerFormulaire(request);

if (result.IsError)
{
_logger.LogError("Erreur envoi: {Error}", result.FirstError.Description);
}
}

Types associés