diff --git a/Project/adminBlazor/adminBlazor/Modals/DeleteConfirmation.razor b/Project/adminBlazor/adminBlazor/Modals/UserDeleteConfirmation.razor similarity index 74% rename from Project/adminBlazor/adminBlazor/Modals/DeleteConfirmation.razor rename to Project/adminBlazor/adminBlazor/Modals/UserDeleteConfirmation.razor index edba1e0..0de8d1e 100644 --- a/Project/adminBlazor/adminBlazor/Modals/DeleteConfirmation.razor +++ b/Project/adminBlazor/adminBlazor/Modals/UserDeleteConfirmation.razor @@ -1,7 +1,7 @@

- Are you sure you want to delete @item.Name ? + Are you sure you want to delete user : @item.Name ?

diff --git a/Project/adminBlazor/adminBlazor/Modals/DeleteConfirmation.razor.cs b/Project/adminBlazor/adminBlazor/Modals/UserDeleteConfirmation.razor.cs similarity index 94% rename from Project/adminBlazor/adminBlazor/Modals/DeleteConfirmation.razor.cs rename to Project/adminBlazor/adminBlazor/Modals/UserDeleteConfirmation.razor.cs index 72c5c5d..fcf6013 100644 --- a/Project/adminBlazor/adminBlazor/Modals/DeleteConfirmation.razor.cs +++ b/Project/adminBlazor/adminBlazor/Modals/UserDeleteConfirmation.razor.cs @@ -6,7 +6,7 @@ using adminBlazor.Models; namespace adminBlazor.Modals { - public partial class DeleteConfirmation + public partial class UserDeleteConfirmation { [CascadingParameter] public BlazoredModalInstance ModalInstance { get; set; } diff --git a/Project/adminBlazor/adminBlazor/Modals/VocListDeleteConfirmation.razor b/Project/adminBlazor/adminBlazor/Modals/VocListDeleteConfirmation.razor new file mode 100644 index 0000000..e847e52 --- /dev/null +++ b/Project/adminBlazor/adminBlazor/Modals/VocListDeleteConfirmation.razor @@ -0,0 +1,10 @@ +
+ +

+ Are you sure you want to delete vocabulary list : @item.Name ? +

+ + + + +
\ No newline at end of file diff --git a/Project/adminBlazor/adminBlazor/Modals/VocListDeleteConfirmation.razor.cs b/Project/adminBlazor/adminBlazor/Modals/VocListDeleteConfirmation.razor.cs new file mode 100644 index 0000000..3ddd00c --- /dev/null +++ b/Project/adminBlazor/adminBlazor/Modals/VocListDeleteConfirmation.razor.cs @@ -0,0 +1,38 @@ +using Microsoft.AspNetCore.Components; +using Blazored.Modal; +using Blazored.Modal.Services; +using adminBlazor.Services; +using adminBlazor.Models; + +namespace adminBlazor.Modals +{ + public partial class VocListDeleteConfirmation + { + [CascadingParameter] + public BlazoredModalInstance ModalInstance { get; set; } + + [Inject] + public IVocListService VocListService { get; set; } + + [Parameter] + public int Id { get; set; } + + private VocabularyList item = new VocabularyList(); + + protected override async Task OnInitializedAsync() + { + // Get the item + item = await VocListService.GetById(Id); + } + + void ConfirmDelete() + { + ModalInstance.CloseAsync(ModalResult.Ok(true)); + } + + void Cancel() + { + ModalInstance.CancelAsync(); + } + } +} \ No newline at end of file diff --git a/Project/adminBlazor/adminBlazor/Pages/List.razor.cs b/Project/adminBlazor/adminBlazor/Pages/List.razor.cs index a05fe67..34c129a 100644 --- a/Project/adminBlazor/adminBlazor/Pages/List.razor.cs +++ b/Project/adminBlazor/adminBlazor/Pages/List.razor.cs @@ -81,7 +81,7 @@ namespace adminBlazor.Pages var parameters = new ModalParameters(); parameters.Add("Id", id); - var modal = Modal.Show("Delete Confirmation", parameters); + var modal = Modal.Show("Delete Confirmation", parameters); var result = await modal.Result; if (result.Cancelled) diff --git a/Project/adminBlazor/adminBlazor/Pages/Voc.razor b/Project/adminBlazor/adminBlazor/Pages/Voc.razor index d39bfd3..63750c4 100644 --- a/Project/adminBlazor/adminBlazor/Pages/Voc.razor +++ b/Project/adminBlazor/adminBlazor/Pages/Voc.razor @@ -38,6 +38,7 @@ Editer + diff --git a/Project/adminBlazor/adminBlazor/Pages/Voc.razor.cs b/Project/adminBlazor/adminBlazor/Pages/Voc.razor.cs index f33d9db..74205f7 100644 --- a/Project/adminBlazor/adminBlazor/Pages/Voc.razor.cs +++ b/Project/adminBlazor/adminBlazor/Pages/Voc.razor.cs @@ -67,5 +67,24 @@ namespace adminBlazor.Pages totalVocList = await VocListService.Count();// an actual data for the current page } } + + private async void OnDelete(int id) + { + var parameters = new ModalParameters(); + parameters.Add("Id", id); + + var modal = Modal.Show("Delete Confirmation", parameters); + var result = await modal.Result; + + if (result.Cancelled) + { + return; + } + + await VocListService.Delete(id); + + // Reload the page + NavigationManager.NavigateTo("voc", true); + } } } \ No newline at end of file diff --git a/Project/adminBlazor/adminBlazor/Services/VocListLocalService.cs b/Project/adminBlazor/adminBlazor/Services/VocListLocalService.cs index 90747c0..95b7050 100644 --- a/Project/adminBlazor/adminBlazor/Services/VocListLocalService.cs +++ b/Project/adminBlazor/adminBlazor/Services/VocListLocalService.cs @@ -110,9 +110,22 @@ namespace adminBlazor.Services await _localStorage.SetItemAsync("voc", currentList); } - public Task Delete(int id) + public async Task Delete(int id) { - throw new NotImplementedException(); + // Get the current data + var currentList = await _localStorage.GetItemAsync>("voc"); + + // Get the item int the list + var voc = currentList.FirstOrDefault(w => w.Id == id); + + // Delete item in + currentList.Remove(voc); + + // Delete the image + + + // Save the data + await _localStorage.SetItemAsync("voc", currentList); } } }