diff --git a/EPAServeur/Controllers/NotesApi.cs b/EPAServeur/Controllers/NotesApi.cs
index 045c410..97aef7c 100644
--- a/EPAServeur/Controllers/NotesApi.cs
+++ b/EPAServeur/Controllers/NotesApi.cs
@@ -172,7 +172,7 @@ namespace IO.Swagger.Controllers
/// Une erreur est survenue sur le serveur
[HttpDelete]
[Route("/api/notes/{idNote}")]
- [Authorize(AuthenticationSchemes = BearerAuthenticationHandler.SchemeName)]
+ //[Authorize(AuthenticationSchemes = BearerAuthenticationHandler.SchemeName)]
[ValidateModelState]
[SwaggerOperation("DeleteNote")]
[SwaggerResponse(statusCode: 401, type: typeof(ErreurDTO), description: "L'utilisateur souhaitant accéder à la ressource n'est pas authentifié")]
@@ -181,6 +181,31 @@ namespace IO.Swagger.Controllers
[SwaggerResponse(statusCode: 500, type: typeof(ErreurDTO), description: "Une erreur est survenue sur le serveur")]
public virtual IActionResult DeleteNote([FromRoute][Required]long? idNote)
{
+ try
+ {
+ noteService.SupprimerNote(idNote);
+ }
+ catch(DbUpdateException e)
+ {
+ logger.LogError(e.Message);
+ ErreurDTO erreur = new ErreurDTO()
+ {
+ Code = 500,
+ Message = "Une erreur est survenue lors de la suppression"
+ };
+ return StatusCode(erreur.Code.Value, erreur);
+ }
+ catch (Exception e)
+ {
+ logger.LogError(e.Message);
+ ErreurDTO erreur = new ErreurDTO()
+ {
+ Code = 500,
+ Message = "Une erreur inconnue est survenue"
+ };
+ return StatusCode(erreur.Code.Value, erreur);
+ }
+ return NoContent();
//TODO: Uncomment the next line to return response 204 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(204);
diff --git a/EPAServeur/IServices/INoteService.cs b/EPAServeur/IServices/INoteService.cs
index 9068a3e..37324b3 100644
--- a/EPAServeur/IServices/INoteService.cs
+++ b/EPAServeur/IServices/INoteService.cs
@@ -21,6 +21,8 @@ namespace EPAServeur.IServices
*/
DetailsNoteDTO AjouterNote(DetailsNoteDTO note);
Task AjouterNoteAsync(DetailsNoteDTO note);
+ void SupprimerNote(long? idNote);
+ void SupprimerNoteAsync(long? idNote);
diff --git a/EPAServeur/Services/NoteService.cs b/EPAServeur/Services/NoteService.cs
index 474786f..cb8fd2a 100644
--- a/EPAServeur/Services/NoteService.cs
+++ b/EPAServeur/Services/NoteService.cs
@@ -71,7 +71,19 @@ namespace EPAServeur.Services
return nouvelleNote;
}
-
+ //
+ /// Supprimer une note en fonction de son Id de manière async
+ ///
+ /// Id de la note à supprimer
+ public void SupprimerNote(long? idNote)
+ {
+ Note note = context.Note.Find(idNote);
+ if (note != null)
+ {
+ context.Remove(note);
+ context.SaveChanges();
+ }
+ }
#endregion
#region Services Async
@@ -102,6 +114,20 @@ namespace EPAServeur.Services
nouvelleNote.Id = note.IdNote;
return nouvelleNote;
}
+
+ ///
+ /// Supprimer une note en fonction de son Id de manière async
+ ///
+ /// Id de la note à supprimer
+ public async void SupprimerNoteAsync(long? idNote)
+ {
+ Note note = await context.Note.FindAsync(idNote);
+ if (note != null)
+ {
+ context.Remove(note);
+ await context.SaveChangesAsync();
+ }
+ }
#endregion