IEmployesClient
Client pour la gestion des employés/membres dans MCM.
public interface IEmployesClient : IBaseClient
Méthodes
GetAllEmployes
Récupère tous les employés de votre organisation.
Task<ErrorOr<IEnumerable<B2BEmployeItem>>> GetAllEmployes()
Retour: Liste de tous les employés avec leurs informations complètes.
Exemple:
var result = await _employesClient.GetAllEmployes();
if (result.IsError)
{
_logger.LogError("Erreur: {Error}", result.FirstError.Description);
return;
}
foreach (var employe in result.Value)
{
Console.WriteLine($"{employe.Prenom} {employe.Nom} - {employe.NoMembre}");
}
GetEmployeById
Récupère un employé par son identifiant externe.
Task<ErrorOr<B2BEmployeItem>> GetEmployeById(string idExterne)
Paramètres:
| Nom | Type | Description |
|---|---|---|
idExterne | string | Identifiant unique dans votre système |
Retour: Informations complètes de l'employé.
Exemple:
var result = await _employesClient.GetEmployeById("EMP-12345");
if (result.IsError)
{
if (result.FirstError.Type == ErrorType.NotFound)
{
Console.WriteLine("Employé non trouvé");
}
return;
}
var employe = result.Value;
Console.WriteLine($"Trouvé: {employe.Prenom} {employe.Nom}");
AddEmploye
Crée un nouvel employé.
Task<ErrorOr<Success>> AddEmploye(B2BUpdateEmployeDto toAdd)
Paramètres:
| Nom | Type | Description |
|---|---|---|
toAdd | B2BUpdateEmployeDto | Données de l'employé à créer |
Exemple:
var nouvelEmploye = new B2BUpdateEmployeDto
{
IdExterne = "EMP-99999",
Prenom = "Jean",
Nom = "Dupont",
NoMembre = "M-99999",
Courriel = "jean.dupont@example.com",
IdentifiantExterneEmployeur = "EMPL-001"
};
var result = await _employesClient.AddEmploye(nouvelEmploye);
if (result.IsError)
{
_logger.LogError("Erreur création: {Error}", result.FirstError.Description);
return;
}
_logger.LogInformation("Employé créé avec succès");
UpdateEmploye
Met à jour un employé existant.
Task<ErrorOr<Success>> UpdateEmploye(B2BUpdateEmployeDto toUpdate)
Paramètres:
| Nom | Type | Description |
|---|---|---|
toUpdate | B2BUpdateEmployeDto | Données mises à jour (incluant IdExterne) |
Exemple:
var employeModifie = new B2BUpdateEmployeDto
{
IdExterne = "EMP-12345", // Identifie l'employé à modifier
Prenom = "Jean-Pierre",
Nom = "Dupont",
NoMembre = "M-12345",
Courriel = "jp.dupont@example.com",
IdentifiantExterneEmployeur = "EMPL-001",
TelephonePrincipal = "514-555-1234"
};
var result = await _employesClient.UpdateEmploye(employeModifie);
if (result.IsError)
{
_logger.LogError("Erreur mise à jour: {Error}", result.FirstError.Description);
}
DeleteEmploye
Supprime un employé.
Task<ErrorOr<Success>> DeleteEmploye(string idExterne)
Paramètres:
| Nom | Type | Description |
|---|---|---|
idExterne | string | Identifiant de l'employé à supprimer |
Exemple:
var result = await _employesClient.DeleteEmploye("EMP-12345");
if (result.IsError)
{
_logger.LogError("Erreur suppression: {Error}", result.FirstError.Description);
return;
}
_logger.LogInformation("Employé supprimé");
UpdateCourriels
Met à jour les adresses courriel de plusieurs employés en lot.
Task<ErrorOr<List<B2BError>>> UpdateCourriels(B2BUpdateCourrielDto[] courrielsAModifier)
Paramètres:
| Nom | Type | Description |
|---|---|---|
courrielsAModifier | B2BUpdateCourrielDto[] | Liste des modifications de courriel |
Retour: Liste des erreurs pour chaque employé en échec.
Exemple:
var modifications = new[]
{
new B2BUpdateCourrielDto
{
IdExterne = "EMP-001",
NouveauCourriel = "nouveau@example.com"
},
new B2BUpdateCourrielDto
{
IdExterne = "EMP-002",
NouveauCourriel = "autre@example.com"
}
};
var result = await _employesClient.UpdateCourriels(modifications);
if (result.IsError)
{
_logger.LogError("Erreur globale: {Error}", result.FirstError.Description);
return;
}
// Vérifier les erreurs individuelles
foreach (var erreur in result.Value)
{
_logger.LogWarning("Erreur pour {Id}: {Message}",
erreur.IdExterne, erreur.Message);
}
Types associés
B2BEmployeItem- Informations complètes d'un employéB2BUpdateEmployeDto- DTO pour création/modificationB2BUpdateCourrielDto- DTO pour modification de courriel