diff --git a/Project/adminBlazor/adminBlazor/Factories/VocListFactory.cs b/Project/adminBlazor/adminBlazor/Factories/VocListFactory.cs index 431e46a..2c36cd0 100644 --- a/Project/adminBlazor/adminBlazor/Factories/VocListFactory.cs +++ b/Project/adminBlazor/adminBlazor/Factories/VocListFactory.cs @@ -13,10 +13,10 @@ namespace adminBlazor.Factories { return new VocabularyListModel { - id = voc.id, - name = voc.name, - image = voc.image, - aut = voc.aut + Id = voc.Id, + Name = voc.Name, + Image = voc.Image, + Aut = voc.Aut }; } @@ -24,19 +24,19 @@ namespace adminBlazor.Factories { return new VocabularyList { - id = voc.id, - name = voc.name, - image = voc.image, - aut = voc.aut + Id = voc.Id, + Name = voc.Name, + Image = voc.Image, + Aut = voc.Aut }; } public static void Update(VocabularyList item, VocabularyListModel voc) { - if (!string.IsNullOrEmpty(voc.name)) - item.name = voc.name; + if (!string.IsNullOrEmpty(voc.Name)) + item.Name = voc.Name; - if (!string.IsNullOrEmpty(voc.image)) - item.image = voc.image; + if (!string.IsNullOrEmpty(voc.Image)) + item.Image = voc.Image; } } diff --git a/Project/adminBlazor/adminBlazor/Models/VocabularyList.cs b/Project/adminBlazor/adminBlazor/Models/VocabularyList.cs index acd427c..28d4de7 100644 --- a/Project/adminBlazor/adminBlazor/Models/VocabularyList.cs +++ b/Project/adminBlazor/adminBlazor/Models/VocabularyList.cs @@ -3,10 +3,10 @@ namespace adminBlazor.Models { public class VocabularyList { - public int id; - public string name; - public string image; - public int? aut; - } + public int Id { get; set; } + public string Name { get; set; } + public string Image { get; set; } + public int? Aut { get; set; } + } } diff --git a/Project/adminBlazor/adminBlazor/Models/VocabularyListModel.cs b/Project/adminBlazor/adminBlazor/Models/VocabularyListModel.cs index 977e4eb..680e5e9 100644 --- a/Project/adminBlazor/adminBlazor/Models/VocabularyListModel.cs +++ b/Project/adminBlazor/adminBlazor/Models/VocabularyListModel.cs @@ -6,13 +6,13 @@ namespace adminBlazor.Models public class VocabularyListModel { [Required] - public int id { get; set; } + public int Id { get; set; } - public string name { get; set; } + public string Name { get; set; } - public string image { get; set; } + public string Image { get; set; } - public int? aut { get; set; } + public int? Aut { get; set; } } } diff --git a/Project/adminBlazor/adminBlazor/Pages/EditVoc.razor b/Project/adminBlazor/adminBlazor/Pages/EditVoc.razor index fe6710d..993fffc 100644 --- a/Project/adminBlazor/adminBlazor/Pages/EditVoc.razor +++ b/Project/adminBlazor/adminBlazor/Pages/EditVoc.razor @@ -11,14 +11,16 @@

diff --git a/Project/adminBlazor/adminBlazor/Pages/Voc.razor b/Project/adminBlazor/adminBlazor/Pages/Voc.razor index ec108a0..d39bfd3 100644 --- a/Project/adminBlazor/adminBlazor/Pages/Voc.razor +++ b/Project/adminBlazor/adminBlazor/Pages/Voc.razor @@ -16,16 +16,16 @@ ShowPager Responsive> - - - - + + + + @if (context is VocabularyList voc) { - @if (voc.aut != null) + @if (voc.Aut != null) { - @voc.aut + @voc.Aut } else { @@ -35,9 +35,9 @@ - + - Editer + Editer diff --git a/Project/adminBlazor/adminBlazor/Pages/Voc.razor.cs b/Project/adminBlazor/adminBlazor/Pages/Voc.razor.cs index 94a73f0..f33d9db 100644 --- a/Project/adminBlazor/adminBlazor/Pages/Voc.razor.cs +++ b/Project/adminBlazor/adminBlazor/Pages/Voc.razor.cs @@ -31,7 +31,7 @@ namespace adminBlazor.Pages public IVocListService VocListService { get; set; } - protected async Task OnAfterRenderAsync(bool firstRender) + /*protected async Task OnAfterRenderAsync(bool firstRender) { // Do not treat this action if is not the first render if (firstRender) @@ -48,7 +48,7 @@ namespace adminBlazor.Pages var originalData = Http.GetFromJsonAsync($"{NavigationManager.BaseUri}voc.json").Result; await LocalStorage.SetItemAsync("voc", originalData); } - } + }*/ private async Task OnReadData(DataGridReadDataEventArgs e) { @@ -59,7 +59,7 @@ namespace adminBlazor.Pages // When you use a real API, we use this follow code //var response = await Http.GetJsonAsync( $"http://my-api/api/data?page={e.Page}&pageSize={e.PageSize}" ); - //var response = (await LocalStorage.GetItemAsync("data")).Skip((e.Page - 1) * e.PageSize).Take(e.PageSize).ToList(); + //var response = (await LocalStorage.GetItemAsync("voc")).Skip((e.Page - 1) * e.PageSize).Take(e.PageSize).ToList(); if (!e.CancellationToken.IsCancellationRequested) { diff --git a/Project/adminBlazor/adminBlazor/Services/VocListLocalService.cs b/Project/adminBlazor/adminBlazor/Services/VocListLocalService.cs index 229ccb5..90747c0 100644 --- a/Project/adminBlazor/adminBlazor/Services/VocListLocalService.cs +++ b/Project/adminBlazor/adminBlazor/Services/VocListLocalService.cs @@ -34,7 +34,7 @@ namespace adminBlazor.Services { var currentList = await _localStorage.GetItemAsync>("voc"); - model.id = currentList.Max(s => s.id) + 1; + model.Id = currentList.Max(s => s.Id) + 1; currentList.Add(VocListFactory.Create(model)); @@ -74,14 +74,40 @@ namespace adminBlazor.Services public async Task GetById(int id) { - var currentLists = await _localStorage.GetItemAsync>("voc"); + var currentLists = await _localStorage.GetItemAsync>("voc"); - return new VocabularyList(); + var list = currentLists.FirstOrDefault(w => w.Id == id); + + if (list == null) + { + throw new Exception($"Unable to found the item with ID: {id}"); + } + + return list; } - public Task Update(int id, VocabularyListModel model) + public async Task Update(int id, VocabularyListModel model) { - throw new NotImplementedException(); + // Get the current data + var currentList = await _localStorage.GetItemAsync>("voc"); + + var voc = currentList.FirstOrDefault(w => w.Id == id); + + if (voc == null) + { + throw new Exception($"Unable to found the item with ID: {id}"); + } + + // Save the image + // + + VocListFactory.Update(voc, model); + + // Modify the content of the item + + + // Save the data + await _localStorage.SetItemAsync("voc", currentList); } public Task Delete(int id)