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); } }