fix gestion unicité mail apside

pull/11/head
Clement FERRERE 3 years ago
parent e9cb320e4a
commit 826dc37379
  1. 23
      Collaborateur_Epa_Back/espacecollab.backend.api/Controllers/CollaborateursController.cs
  2. 8
      Collaborateur_Epa_Back/espacecollab.backend.appservices/CollaborateursService.cs

@ -16,11 +16,22 @@ public class CollaborateursController : BaseController<CollaborateurApiDto>
[HttpPost]
public override ActionResult<CollaborateurApiDto> Add(CollaborateurApiDto apiDto)
{
CollaborateurApiDto? addedApiDto = Services.Add(apiDto);
if (addedApiDto == null)
return Problem();
return Ok(addedApiDto);
(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)}")]
@ -29,7 +40,7 @@ public class CollaborateursController : BaseController<CollaborateurApiDto>
if (apiDto.Id != id)
return Unauthorized();
CollaborateurApiDto? updatedApiDto = Services.Update(apiDto);
CollaborateurApiDto? updatedApiDto = CollaborateursServices.Update(apiDto);
if (updatedApiDto == null)
return Problem();

@ -15,20 +15,20 @@ public class CollaborateursService : GenericsServices<CollaborateurSqlDto, Colla
CollaborateurRepository = collaborateurRepository;
}
public override CollaborateurApiDto? Add(CollaborateurApiDto apiDto)
public (CollaborateurApiDto?,int) Add(CollaborateurApiDto apiDto)
{
if(GetAll().Where(collab => apiDto.ApsideMail == collab.ApsideMail).Any())
{
return null;
return (null,1);
}
CollaborateurSqlDto sqlDto = apiDto.ToSql();
CollaborateurSqlDto? entitySqlValidation = CollaborateurRepository.Add(sqlDto);
if (entitySqlValidation == null)
return null;
return (null,2);
return entitySqlValidation.ToApi();
return (entitySqlValidation.ToApi(),0);
}
public override CollaborateurApiDto? Update(CollaborateurApiDto apiDto)

Loading…
Cancel
Save