diff --git a/Blazor/Blazor/Pages/Admins/AddAdministrator.razor.cs b/Blazor/Blazor/Pages/Admins/AddAdministrator.razor.cs index b44b4bc..5b7ae20 100644 --- a/Blazor/Blazor/Pages/Admins/AddAdministrator.razor.cs +++ b/Blazor/Blazor/Pages/Admins/AddAdministrator.razor.cs @@ -32,7 +32,7 @@ namespace Blazor.Pages.Admins var formContent = new FormUrlEncodedContent(formData); - string apiUri = "https://trusting-panini.87-106-126-109.plesk.page/api/add/administrators"; + string apiUri = "https://trusting-panini.87-106-126-109.plesk.page/api/add/administrator"; using (var httpClient = new HttpClient()) { diff --git a/Blazor/Blazor/Pages/Admins/Administrators.razor.cs b/Blazor/Blazor/Pages/Admins/Administrators.razor.cs index c86a07f..5773514 100644 --- a/Blazor/Blazor/Pages/Admins/Administrators.razor.cs +++ b/Blazor/Blazor/Pages/Admins/Administrators.razor.cs @@ -51,27 +51,33 @@ public partial class Administrators { administrators = new List(response); // an actual data for the current page totalItem = administrators.Count; + var currentData = await LocalStorage.GetItemAsync("data"); + if (currentData == null || currentData.Length != administrators.Count) + { + var originalData = Http.GetFromJsonAsync($"https://trusting-panini.87-106-126-109.plesk.page/api/administrators").Result; + await LocalStorage.SetItemAsync("data", originalData); + } } } - protected override async Task OnAfterRenderAsync(bool firstRender) - { - // Do not treat this action if is not the first render - if (!firstRender) - { - return; - } - - var currentData = await LocalStorage.GetItemAsync("data"); - - // Check if data exist in the local storage - if (currentData == null) - { - // this code add in the local storage the fake data (we load the data sync for initialize the data before load the OnReadData method) - var originalData = Http.GetFromJsonAsync($"https://trusting-panini.87-106-126-109.plesk.page/api/administrators").Result; - await LocalStorage.SetItemAsync("data", originalData); - } - } + //protected override async Task OnAfterRenderAsync(bool firstRender) + //{ + // // Do not treat this action if is not the first render + // if (!firstRender) + // { + // return; + // } + + // var currentData = await LocalStorage.GetItemAsync("data"); + + // // Check if data exist in the local storage + // if (currentData == null) + // { + // // this code add in the local storage the fake data (we load the data sync for initialize the data before load the OnReadData method) + // var originalData = Http.GetFromJsonAsync($"https://trusting-panini.87-106-126-109.plesk.page/api/administrators").Result; + // await LocalStorage.SetItemAsync("data", originalData); + // } + //} private async void OnDelete(int id) { diff --git a/Blazor/Blazor/Pages/Admins/EditAdministrator.razor.cs b/Blazor/Blazor/Pages/Admins/EditAdministrator.razor.cs index 370744f..f96d42c 100644 --- a/Blazor/Blazor/Pages/Admins/EditAdministrator.razor.cs +++ b/Blazor/Blazor/Pages/Admins/EditAdministrator.razor.cs @@ -36,13 +36,37 @@ namespace Blazor.Pages.Admins administratorModel = new AdministratorModel { Id = administrator.Id, - Username = administrator.Username + Username = administrator.Username, + HashedPassword = administrator.HashedPassword }; } private async void HandleValidSubmit() { + administratorModel.HashPassword(administratorModel.HashedPassword); + await DataService.Update(Id, administratorModel); + var formData = new List>(); + formData.Add(new KeyValuePair("username", administratorModel.Username)); + formData.Add(new KeyValuePair("password", administratorModel.HashedPassword)); + + var formContent = new FormUrlEncodedContent(formData); + + string apiUri = "https://trusting-panini.87-106-126-109.plesk.page/api/update/administrator/" + administratorModel.Id; + + using (var httpClient = new HttpClient()) + { + var response = await httpClient.PostAsync(apiUri, formContent); + + if (response.IsSuccessStatusCode) + { + var responseBody = await response.Content.ReadAsStringAsync(); + } + else + { + var errorResponse = await response.Content.ReadAsStringAsync(); + } + } Logger.LogInformation("Admin '{OldAdminModelName}' edited in '{NewAdminModelName}'",OldAdminName,administratorModel.Username);