Aller au contenu principal

IEmploisClient

Client pour la gestion des emplois dans MCM. Un emploi représente le lien entre un employé et un employeur.

public interface IEmploisClient : IBaseClient

Méthodes

GetAllEmplois

Récupère tous les emplois.

Task<ErrorOr<IEnumerable<B2BEmploiItem>>> GetAllEmplois()

Exemple:

var result = await _emploisClient.GetAllEmplois();

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

foreach (var emploi in result.Value)
{
Console.WriteLine($"{emploi.IdentifiantExterneEmploye} chez {emploi.NomEmployeur}");
Console.WriteLine($" Matricule: {emploi.Matricule}");
Console.WriteLine($" Début: {emploi.DateDebut} - Fin: {emploi.DateFin ?? "En cours"}");
}

GetEmploiById

Récupère un emploi par son identifiant externe.

Task<ErrorOr<B2BEmploiItem>> GetEmploiById(string idExterne)

Paramètres:

NomTypeDescription
idExternestringIdentifiant externe de l'emploi

Exemple:

var result = await _emploisClient.GetEmploiById("EMPLOI-001");

if (result.IsError)
{
Console.WriteLine($"Erreur: {result.FirstError.Description}");
return;
}

var emploi = result.Value;
Console.WriteLine($"Employé: {emploi.IdentifiantExterneEmploye}");
Console.WriteLine($"Employeur: {emploi.NomEmployeur} ({emploi.IdentifiantExterneEmployeur})");

AddEmploi

Crée un nouvel emploi.

Task<ErrorOr<Success>> AddEmploi(B2BUpdateEmploiDto toAdd)

Exemple:

var nouvelEmploi = new B2BUpdateEmploiDto
{
IdentifiantExterne = "EMPLOI-NEW",
IdentifiantExterneEmploye = "EMP-001",
IdentifiantExterneEmployeur = "EMPL-001",
Matricule = "MAT-12345",
DateDebut = new DateTime(2025, 1, 15)
};

var result = await _emploisClient.AddEmploi(nouvelEmploi);

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

_logger.LogInformation("Emploi créé");

UpdateEmploi

Met à jour un emploi existant.

Task<ErrorOr<Success>> UpdateEmploi(B2BUpdateEmploiDto toUpdate)

Exemple:

var emploiModifie = new B2BUpdateEmploiDto
{
IdentifiantExterne = "EMPLOI-001",
IdentifiantExterneEmploye = "EMP-001",
IdentifiantExterneEmployeur = "EMPL-001",
Matricule = "MAT-99999",
DateFin = new DateTime(2025, 12, 31)
};

var result = await _emploisClient.UpdateEmploi(emploiModifie);

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

DeleteEmploi

Supprime un emploi.

Task<ErrorOr<Success>> DeleteEmploi(string idExterne)

Paramètres:

NomTypeDescription
idExternestringIdentifiant externe de l'emploi à supprimer
Attention

La suppression d'un emploi rompt le lien entre un employé et un employeur. Vérifiez les dépendances avant de supprimer.

Exemple:

var result = await _emploisClient.DeleteEmploi("EMPLOI-001");

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

Types associés