Aller au contenu principal

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:

NomTypeDescription
idExternestringIdentifiant 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:

NomTypeDescription
toAddB2BUpdateEmployeDtoDonné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:

NomTypeDescription
toUpdateB2BUpdateEmployeDtoDonné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:

NomTypeDescription
idExternestringIdentifiant 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:

NomTypeDescription
courrielsAModifierB2BUpdateCourrielDto[]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