Mise à jour de la suppresion d'une note

develop
Yanaël GRETTE 4 years ago
parent 39519bfc34
commit bf9058f516
  1. 27
      EPAServeur/Controllers/NotesApi.cs
  2. 2
      EPAServeur/IServices/INoteService.cs
  3. 28
      EPAServeur/Services/NoteService.cs

@ -172,7 +172,7 @@ namespace IO.Swagger.Controllers
/// <response code="500">Une erreur est survenue sur le serveur</response> /// <response code="500">Une erreur est survenue sur le serveur</response>
[HttpDelete] [HttpDelete]
[Route("/api/notes/{idNote}")] [Route("/api/notes/{idNote}")]
[Authorize(AuthenticationSchemes = BearerAuthenticationHandler.SchemeName)] //[Authorize(AuthenticationSchemes = BearerAuthenticationHandler.SchemeName)]
[ValidateModelState] [ValidateModelState]
[SwaggerOperation("DeleteNote")] [SwaggerOperation("DeleteNote")]
[SwaggerResponse(statusCode: 401, type: typeof(ErreurDTO), description: "L&#x27;utilisateur souhaitant accéder à la ressource n&#x27;est pas authentifié")] [SwaggerResponse(statusCode: 401, type: typeof(ErreurDTO), description: "L&#x27;utilisateur souhaitant accéder à la ressource n&#x27;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")] [SwaggerResponse(statusCode: 500, type: typeof(ErreurDTO), description: "Une erreur est survenue sur le serveur")]
public virtual IActionResult DeleteNote([FromRoute][Required]long? idNote) 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(..), ... //TODO: Uncomment the next line to return response 204 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(204); // return StatusCode(204);

@ -21,6 +21,8 @@ namespace EPAServeur.IServices
*/ */
DetailsNoteDTO AjouterNote(DetailsNoteDTO note); DetailsNoteDTO AjouterNote(DetailsNoteDTO note);
Task<DetailsNoteDTO> AjouterNoteAsync(DetailsNoteDTO note); Task<DetailsNoteDTO> AjouterNoteAsync(DetailsNoteDTO note);
void SupprimerNote(long? idNote);
void SupprimerNoteAsync(long? idNote);

@ -71,7 +71,19 @@ namespace EPAServeur.Services
return nouvelleNote; return nouvelleNote;
} }
// <summary>
/// Supprimer une note en fonction de son Id de manière async
/// </summary>
/// <param name="idNote">Id de la note à supprimer</param>
public void SupprimerNote(long? idNote)
{
Note note = context.Note.Find(idNote);
if (note != null)
{
context.Remove(note);
context.SaveChanges();
}
}
#endregion #endregion
#region Services Async #region Services Async
@ -102,6 +114,20 @@ namespace EPAServeur.Services
nouvelleNote.Id = note.IdNote; nouvelleNote.Id = note.IdNote;
return nouvelleNote; return nouvelleNote;
} }
/// <summary>
/// Supprimer une note en fonction de son Id de manière async
/// </summary>
/// <param name="idNote">Id de la note à supprimer</param>
public async void SupprimerNoteAsync(long? idNote)
{
Note note = await context.Note.FindAsync(idNote);
if (note != null)
{
context.Remove(note);
await context.SaveChangesAsync();
}
}
#endregion #endregion

Loading…
Cancel
Save