fix de la gestion de l'unicité des mails apside pour l'update d'un collaborateur

pull/11/head
Clement FERRERE 3 years ago
parent 826dc37379
commit 00d711b936
  1. 20
      Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/CollaborateursController.cs
  2. 10
      Collaborateur_Epa_Back/espacecollab.backend.appservices/CollaborateursService.cs

@ -40,9 +40,23 @@ public class CollaborateursController : BaseController<CollaborateurApiDto>
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);

@ -31,14 +31,14 @@ public class CollaborateursService : GenericsServices<CollaborateurSqlDto, Colla
return (entitySqlValidation.ToApi(),0);
}
public override CollaborateurApiDto? Update(CollaborateurApiDto apiDto)
public (CollaborateurApiDto?,int) Update(CollaborateurApiDto apiDto)
{
if (GetById(apiDto.Id) == null)
return null;
return (null,1);
if (GetAll().Where(collab => apiDto.ApsideMail == collab.ApsideMail && apiDto.Id != collab.Id).Any())
{
return null;
return (null,2);
}
@ -47,9 +47,9 @@ public class CollaborateursService : GenericsServices<CollaborateurSqlDto, Colla
CollaborateurSqlDto? sqlDtoValidation = CollaborateurRepository.Update(sqlDto);
if (sqlDtoValidation == null)
return null;
return (null,3);
return sqlDtoValidation.ToApi();
return (sqlDtoValidation.ToApi(),0);
}
public IEnumerable<CollaborateurApiDto> GetCollaborateursByBusinessUnit(uint businessUnitId)

Loading…
Cancel
Save