|
|
|
@ -13,6 +13,54 @@ public class CollaborateursController : BaseController<CollaborateurApiDto> |
|
|
|
|
CollaborateursServices = collaborateursServices; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[HttpPost] |
|
|
|
|
public override ActionResult<CollaborateurApiDto> Add(CollaborateurApiDto apiDto) |
|
|
|
|
{ |
|
|
|
|
(CollaborateurApiDto?,int) addedApiDto = CollaborateursServices.Add(apiDto); |
|
|
|
|
if (addedApiDto.Item1 == null) |
|
|
|
|
{ |
|
|
|
|
if(addedApiDto.Item2 == 1) |
|
|
|
|
{ |
|
|
|
|
return Conflict("Erreur lors de la création du collaborateur : Le mail Apside renseigné est déjà utilisé pour un autre collaborateur."); |
|
|
|
|
} |
|
|
|
|
else if (addedApiDto.Item2 == 2) |
|
|
|
|
{ |
|
|
|
|
return ValidationProblem("Erreur lors de la création du collaborateur : Erreur de validation de l'entité."); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
return Problem("Erreur lors de la création du collaborateur : Problème interne"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return Ok(addedApiDto.Item1); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[HttpPut("{id:int:min(1)}")] |
|
|
|
|
public override ActionResult<CollaborateurApiDto> Update(uint id, CollaborateurApiDto apiDto) |
|
|
|
|
{ |
|
|
|
|
if (apiDto.Id != id) |
|
|
|
|
return Unauthorized(); |
|
|
|
|
|
|
|
|
|
(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); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
[HttpGet("businessunit/{businessUnitId:int:min(1)}")] |
|
|
|
|
public ActionResult<IEnumerable<CollaborateurApiDto>> GetCollaborateursByBusinessUnit(uint businessUnitId) |
|
|
|
|
{ |
|
|
|
|