diff --git a/Blazor/Blazor/Blazor.csproj b/Blazor/Blazor/Blazor.csproj index 6df041b..34a02a6 100644 --- a/Blazor/Blazor/Blazor.csproj +++ b/Blazor/Blazor/Blazor.csproj @@ -25,6 +25,7 @@ + diff --git a/Blazor/Blazor/Pages/Admins/AddAdministrator.razor.cs b/Blazor/Blazor/Pages/Admins/AddAdministrator.razor.cs index ab785f5..5b7ae20 100644 --- a/Blazor/Blazor/Pages/Admins/AddAdministrator.razor.cs +++ b/Blazor/Blazor/Pages/Admins/AddAdministrator.razor.cs @@ -16,6 +16,9 @@ namespace Blazor.Pages.Admins [Inject] public NavigationManager NavigationManager { get; set; } + [Inject] + public ILogger Logger { get; set; } + private async void HandleValidSubmit() { @@ -45,6 +48,8 @@ namespace Blazor.Pages.Admins } } + Logger.LogInformation("Admin '{administratorsModelName}' added", administratorModel.Username); + NavigationManager.NavigateTo("administrators"); } } diff --git a/Blazor/Blazor/Pages/Admins/EditAdministrator.razor.cs b/Blazor/Blazor/Pages/Admins/EditAdministrator.razor.cs index c1fac45..978efdf 100644 --- a/Blazor/Blazor/Pages/Admins/EditAdministrator.razor.cs +++ b/Blazor/Blazor/Pages/Admins/EditAdministrator.razor.cs @@ -1,4 +1,5 @@ using Blazor.Models; +using Blazor.Pages.Chapters; using Blazor.Services; using Microsoft.AspNetCore.Components; @@ -21,6 +22,9 @@ namespace Blazor.Pages.Admins [Inject] public IWebHostEnvironment WebHostEnvironment { get; set; } + [Inject] + public ILogger Logger { get; set; } + protected override async Task OnInitializedAsync() { var administrator = await DataService.GetAdminById(Id); @@ -61,6 +65,9 @@ namespace Blazor.Pages.Admins } } + + Logger.LogInformation("Chapter '{administratorsModelName}' edited", administratorsModel.Username); + NavigationManager.NavigateTo("administrators"); } } diff --git a/Blazor/Blazor/Pages/Chapters/AddChapter.razor.cs b/Blazor/Blazor/Pages/Chapters/AddChapter.razor.cs index 74c863d..da8834c 100644 --- a/Blazor/Blazor/Pages/Chapters/AddChapter.razor.cs +++ b/Blazor/Blazor/Pages/Chapters/AddChapter.razor.cs @@ -14,6 +14,10 @@ public partial class AddChapter [Inject] public NavigationManager NavigationManager { get; set; } + [Inject] + public ILogger Logger { get; set; } + + private async void HandleValidSubmit() { @@ -40,6 +44,9 @@ public partial class AddChapter var errorResponse = await response.Content.ReadAsStringAsync(); } } + + Logger.LogInformation("Chapter '{chapterModelName}' added",chapterModel.Name); + NavigationManager.NavigateTo("chapters"); } diff --git a/Blazor/Blazor/Pages/Chapters/EditChapter.razor.cs b/Blazor/Blazor/Pages/Chapters/EditChapter.razor.cs index a4ecb63..3a14c5d 100644 --- a/Blazor/Blazor/Pages/Chapters/EditChapter.razor.cs +++ b/Blazor/Blazor/Pages/Chapters/EditChapter.razor.cs @@ -1,40 +1,47 @@ -using Blazor.Models; -using Blazor.Services; -using Microsoft.AspNetCore.Components; - -namespace Blazor.Pages.Chapters; - -public partial class EditChapter -{ - [Parameter] - public int Id { get; set; } - - private ChapterModel chapterModel = new(); - +using Blazor.Models; +using Blazor.Services; +using Microsoft.AspNetCore.Components; + +namespace Blazor.Pages.Chapters; + +public partial class EditChapter +{ + [Parameter] + public int Id { get; set; } + + private ChapterModel chapterModel = new(); + + [Inject] + public IDataService DataService { get; set; } + + [Inject] + public NavigationManager NavigationManager { get; set; } + + [Inject] + public IWebHostEnvironment WebHostEnvironment { get; set; } + [Inject] - public IDataService DataService { get; set; } + public ILogger Logger { get; set; } - [Inject] - public NavigationManager NavigationManager { get; set; } + private string oldChapterName { get; set; } - [Inject] - public IWebHostEnvironment WebHostEnvironment { get; set; } - - protected override async Task OnInitializedAsync() - { - var chapter = await DataService.GetById(Id); - - // Set the model with the chapter - chapterModel = new ChapterModel - { - Id = chapter.Id, - Name = chapter.Name - }; - } - - private async void HandleValidSubmit() - { - await DataService.Update(Id, chapterModel); + protected override async Task OnInitializedAsync() + { + var chapter = await DataService.GetById(Id); + oldChapterName = chapter.Name; + + // Set the model with the chapter + chapterModel = new ChapterModel + { + Id = chapter.Id, + Name = chapter.Name + }; + } + + private async void HandleValidSubmit() + { + await DataService.Update(Id, chapterModel); + var formData = new List>(); formData.Add(new KeyValuePair("name", chapterModel.Name)); @@ -47,6 +54,9 @@ public partial class EditChapter { var response = await httpClient.PostAsync(apiUri, formContent); + + Logger.LogInformation("Chapter '{OldChapterModelName}' edited in '{NewChapterModelName}'",oldChapterName,chapterModel.Name); + if (response.IsSuccessStatusCode) { var responseBody = await response.Content.ReadAsStringAsync(); @@ -55,7 +65,7 @@ public partial class EditChapter { var errorResponse = await response.Content.ReadAsStringAsync(); } - } - NavigationManager.NavigateTo("chapters"); - } -} + } + NavigationManager.NavigateTo("chapters"); + } +} diff --git a/Blazor/Blazor/Program.cs b/Blazor/Blazor/Program.cs index 2ccc758..12120ef 100644 --- a/Blazor/Blazor/Program.cs +++ b/Blazor/Blazor/Program.cs @@ -7,6 +7,7 @@ using Blazorise.Icons.FontAwesome; using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components.Web; using Blazored.Modal; +using Microsoft.Extensions.Logging; var builder = WebApplication.CreateBuilder(args); @@ -36,6 +37,8 @@ builder.Services.AddBlazoredModal(); builder.Services.AddScoped(); +builder.Logging.AddConfiguration(builder.Configuration.GetSection("Logging")); + var app = builder.Build(); // Configure the HTTP request pipeline. diff --git a/Blazor/Blazor/appsettings.json b/Blazor/Blazor/appsettings.json index 10f68b8..45fe774 100644 --- a/Blazor/Blazor/appsettings.json +++ b/Blazor/Blazor/appsettings.json @@ -2,8 +2,8 @@ "Logging": { "LogLevel": { "Default": "Information", - "Microsoft.AspNetCore": "Warning" + "Microsoft": "Warning", + "Microsoft.Hosting.Lifetime": "Information" } - }, - "AllowedHosts": "*" -} + } +} \ No newline at end of file