From 9a76ce9216adaffe55d19b40aeef0f0e7e1ecc4a Mon Sep 17 00:00:00 2001 From: Alexis DRAI Date: Mon, 23 Jan 2023 15:22:34 +0100 Subject: [PATCH] :sparkles::construction: WIP implement delete feature :bookmark: https://codefirst.iut.uca.fr/documentation/julien.riboulet/docusaurus/Blazor/delete-item/add-delete-action/ --- blazor_lab/Services/DataLocalService.cs | 17 +++++++++++++++++ blazor_lab/Services/IDataService.cs | 1 + 2 files changed, 18 insertions(+) diff --git a/blazor_lab/Services/DataLocalService.cs b/blazor_lab/Services/DataLocalService.cs index b47c29e..7c097f7 100644 --- a/blazor_lab/Services/DataLocalService.cs +++ b/blazor_lab/Services/DataLocalService.cs @@ -74,6 +74,23 @@ namespace blazor_lab.Services return (await _localStorageService.GetItemAsync("data")).Length; } + public async Task Delete(int id) + { + var currentData = await _localStorageService.GetItemAsync>("data"); + var item = currentData.FirstOrDefault(w => w.Id == id); + currentData.Remove(item); + + var imagePathInfo = new DirectoryInfo($"{_webHostEnvironment.WebRootPath}/images"); + var fileInfo = new FileInfo($"{imagePathInfo}/{item.Name}.png"); + + if(fileInfo.Exists) + { + File.Delete(fileInfo.FullName); + } + + await _localStorageService.SetItemAsync("data", currentData); + } + public async Task GetById(int id) { var item = (await _localStorageService.GetItemAsync>("data")).FirstOrDefault(w => w.Id == id); diff --git a/blazor_lab/Services/IDataService.cs b/blazor_lab/Services/IDataService.cs index 4d79843..9f4572f 100644 --- a/blazor_lab/Services/IDataService.cs +++ b/blazor_lab/Services/IDataService.cs @@ -9,5 +9,6 @@ namespace blazor_lab.Services Task> List(int currentPage, int pageSize); Task GetById(int id); Task Update(int id, ItemModel model); + Task Delete(int id); } }