29-9 Suppression
Dernier arrêt, supprimer un événement!
Fonction SupprimerEvenement
du client EvenementClient
La fonction est assez classique par rapport à ce que nous avons vu jusqu'à maintenant. On fait une requête HTTP de type DELETE
et on retourne si la requête est un succès ou non en fonction du retour de l'API.
Snowfall.Web.Admin/HttpClients/EvenementHttpClient.cs
/// <summary>
/// Permets de supprimer un événement
/// </summary>
/// <param name="id">Le id de l'événement à supprimer</param>
/// <returns></returns>
public async Task<bool> SupprimerEvenement(int id)
{
string url = $"{BaseApiUrl}/{id}";
var response = await _client.DeleteAsync(url);
return response.IsSuccessStatusCode;
}
Connecter le bouton Supprimer
à l'action
Dans la page Show
, assurez-vous d'avoir un bouton Supprimer
lié à une fonction pour gérer l'événement onClick
.
- Créez une fonction
SupprimerEvenement
Snowfall.Web.Admin/Pages/Evenements/Show.razor//...
async Task SupprimerEvenement()
{
}
//... - Assurez-vous d'avoir un bouton Supprimer et connectez-le à la fonction
SupprimerEvenement
Snowfall.Web.Admin/Pages/Evenements/Show.razor<div class="card-body">
<NavLink class="btn btn-primary" href="@($"/evenements/{Id}/edit")">Modifier</NavLink>
<NavLink class="btn btn-danger" @onclick="SupprimerEvenement">Supprimer</NavLink>
</div> - Injectez le
ToastService
pour les notifications etNavigationManger
Snowfall.Web.Admin/Pages/Evenements/Show.razor@page "/evenements/{Id:int}"
@using System.Net
@using Snowfall.Application.Dtos.Evenements
@using Snowfall.Web.Admin.HttpClients
@inject EvenementHttpClient EvenementHttpClient
@inject ToastService ToastService
@inject NavigationManager NavigationManager - Appeler le client pour supprimer l'événement
Snowfall.Web.Admin/Pages/Evenements/Show.razor
async Task SupprimerEvenement()
{
bool suppression = await EvenementHttpClient.SupprimerEvenement(Id);
if (suppression)
{
ToastService.Notify(new (ToastType.Success, "L'événement a été supprimé"));
NavigationManager.NavigateTo("/evenements");
}
else
{
ToastService.Notify(new (ToastType.Danger, "Impossible de supprimer l'événement"));
}
}
Test
Vous devriez maintenant être en mesure de supprimer un événement, quoi que un peu brutal comme approche puisqu'aucune demande confirmation n'est affichée à l'utilisateur!
Nous allons rectifier la situation à la prochaine étape.