diff --git a/Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/CollaborateursController.cs b/Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/CollaborateursController.cs index b69b1be..fe0a556 100644 --- a/Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/CollaborateursController.cs +++ b/Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/CollaborateursController.cs @@ -40,9 +40,23 @@ public class CollaborateursController : BaseController if (apiDto.Id != id) return Unauthorized(); - CollaborateurApiDto? updatedApiDto = CollaborateursServices.Update(apiDto); - if (updatedApiDto == null) - return Problem(); + (CollaborateurApiDto?, int) updatedApiDto = CollaborateursServices.Update(apiDto); + if (updatedApiDto.Item1 == null) + { + if (updatedApiDto.Item2 == 1) + { + return NoContent(); + } + else if (updatedApiDto.Item2 == 2) + { + return Conflict("Erreur lors de la mise à jour du collaborateur : Le mail Apside renseigné est déjà utilisé pour un autre collaborateur."); + } + else if (updatedApiDto.Item2 == 3) + { + return ValidationProblem("Erreur lors de la mise à jour du collaborateur : Erreur de validation de l'entité."); + } + else return Problem(); + } return Ok(updatedApiDto); diff --git a/Collaborateur_Epa_Back/espacecollab.backend.appservices/CollaborateursService.cs b/Collaborateur_Epa_Back/espacecollab.backend.appservices/CollaborateursService.cs index c10392a..4bacdd1 100644 --- a/Collaborateur_Epa_Back/espacecollab.backend.appservices/CollaborateursService.cs +++ b/Collaborateur_Epa_Back/espacecollab.backend.appservices/CollaborateursService.cs @@ -31,14 +31,14 @@ public class CollaborateursService : GenericsServices apiDto.ApsideMail == collab.ApsideMail && apiDto.Id != collab.Id).Any()) { - return null; + return (null,2); } @@ -47,9 +47,9 @@ public class CollaborateursService : GenericsServices GetCollaborateursByBusinessUnit(uint businessUnitId)