From 6a9afeb6f44de0504058657a1f4ea5ee04d50f7d Mon Sep 17 00:00:00 2001 From: Kentin BRONGNIART Date: Tue, 4 Feb 2025 11:28:15 +0100 Subject: [PATCH 1/3] =?UTF-8?q?D=C3=A9but=20Logs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WF-WebAdmin/Model/LoggerSaveStub.cs | 70 ++++++++ .../WF-WebAdmin/Pages/DeleteUser.razor.cs | 150 +++++++++--------- WF-WebAdmin/WF-WebAdmin/Pages/Login.razor.cs | 16 +- WF-WebAdmin/WF-WebAdmin/Program.cs | 4 + WF-WebAdmin/WF-WebAdmin/Shared/NavMenu.razor | 6 + 5 files changed, 167 insertions(+), 79 deletions(-) create mode 100644 WF-WebAdmin/WF-WebAdmin/Model/LoggerSaveStub.cs diff --git a/WF-WebAdmin/WF-WebAdmin/Model/LoggerSaveStub.cs b/WF-WebAdmin/WF-WebAdmin/Model/LoggerSaveStub.cs new file mode 100644 index 0000000..28ec514 --- /dev/null +++ b/WF-WebAdmin/WF-WebAdmin/Model/LoggerSaveStub.cs @@ -0,0 +1,70 @@ +using Microsoft.Extensions.Logging; +using System.Xml.Linq; +using static WF_WebAdmin.Model.LoggerSaveStub.CustomLoggerConfiguration; + +namespace WF_WebAdmin.Model +{ + + public sealed class LoggerSaveStub : ILogger + { + internal class CustomLoggerConfiguration + { + public int EventId { get; set; } + + public Dictionary LogLevels { get; set; } = + new() + { + [LogLevel.Information] = LogFormat.Short, + [LogLevel.Warning] = LogFormat.Short, + [LogLevel.Error] = LogFormat.Long + }; + + public enum LogFormat + { + Short, + Long + } + } + + + private readonly string name; + private readonly Func getCurrentConfig; + + + public IDisposable BeginScope(TState state) => default!; + + public bool IsEnabled(LogLevel logLevel) => + getCurrentConfig().LogLevels.ContainsKey(logLevel); + + public void Log( + LogLevel logLevel, + EventId eventId, + TState state, + Exception? exception, + Func formatter) + { + if (!IsEnabled(logLevel)) + { + return; + } + + CustomLoggerConfiguration config = getCurrentConfig(); + + if (config.EventId == 0 || config.EventId == eventId.Id) + { + switch (config.LogLevels[logLevel]) + { + case LogFormat.Short: + Console.WriteLine($"{name}: {formatter(state, exception)}"); + break; + case LogFormat.Long: + Console.WriteLine($"[{eventId.Id,2}: {logLevel,-12}] {name} - {formatter(state, exception)}"); + break; + default: + // No-op + break; + } + } + } + } +} \ No newline at end of file diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs b/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs index b14bdec..f377d66 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs +++ b/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs @@ -1,80 +1,88 @@ -using Microsoft.AspNetCore.Components; -using Microsoft.Extensions.Configuration.UserSecrets; -using WF_WebAdmin.Model; - -namespace WF_WebAdmin.Pages -{ - public partial class DeleteUser - { +using Microsoft.AspNetCore.Components; +using Microsoft.Extensions.Configuration.UserSecrets; +using Microsoft.Extensions.Logging; +using WF_WebAdmin.Model; + +namespace WF_WebAdmin.Pages +{ + public partial class DeleteUser + { + [Inject] + public ILogger Logger { get; set; } + + public LoggerSaveStub logger { get; set; } + private List users; - private bool showPopupDelete = false; - private User userToDelete = null; - - private bool showPopupAdmin = false; - private User userToAdmin = null; - [Inject] - public HttpClient Http { get; set; } - - [Inject] - public NavigationManager NavigationManager { get; set; } - - protected override async Task OnInitializedAsync() - { - users = await Http.GetFromJsonAsync>($"{NavigationManager.BaseUri}fake-dataUsers.json"); - } - - - - // ------- Popup remove user ------- - private void ShowConfirmation(User user) - { - userToDelete = user; - showPopupDelete = true; - } - - - - private async Task RemoveUser() - { - if (userToDelete != null) - { - users.RemoveAll(u => u.Name == userToDelete.Name); - ClosePopup(); - } - } - - private void ClosePopup() - { - showPopupDelete = false; - showPopupAdmin = false; - } - - - // ------- Popup admin ------- - private void ShowConfirmationAdmin(User user) - { - userToAdmin = user; - showPopupAdmin = true; - } - - - - private async Task Admin() - { - if (!userToAdmin.IsAdmin) + private bool showPopupDelete = false; + private User userToDelete = null; + + private bool showPopupAdmin = false; + private User userToAdmin = null; + [Inject] + public HttpClient Http { get; set; } + + [Inject] + public NavigationManager NavigationManager { get; set; } + + protected override async Task OnInitializedAsync() + { + users = await Http.GetFromJsonAsync>($"{NavigationManager.BaseUri}fake-dataUsers.json"); + } + + + + // ------- Popup remove user ------- + private void ShowConfirmation(User user) + { + Logger.LogInformation( "Demande de suprétion de l'utilisateur : { Name }",user.Name); + //logger.LogInformation( "Demande de suprétion de l'utilisateur : { Name }",user.Name); + userToDelete = user; + showPopupDelete = true; + } + + + + private async Task RemoveUser() + { + if (userToDelete != null) { - userToAdmin.IsAdmin = true; - ClosePopup(); - } + users.RemoveAll(u => u.Name == userToDelete.Name); + ClosePopup(); + } + } + + private void ClosePopup() + { + showPopupDelete = false; + showPopupAdmin = false; + } + + + // ------- Popup admin ------- + private void ShowConfirmationAdmin(User user) + { + userToAdmin = user; + showPopupAdmin = true; + } + + + + private async Task Admin() + { + if (!userToAdmin.IsAdmin) + { + userToAdmin.IsAdmin = true; + ClosePopup(); + } else { - userToAdmin.IsAdmin = false; + userToAdmin.IsAdmin = false; ClosePopup(); - } - } - + } + } + } -} +} diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/Login.razor.cs b/WF-WebAdmin/WF-WebAdmin/Pages/Login.razor.cs index 06177e7..cc8522e 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/Login.razor.cs +++ b/WF-WebAdmin/WF-WebAdmin/Pages/Login.razor.cs @@ -12,7 +12,7 @@ namespace WF_WebAdmin.Pages private UserLogin userLogin = new UserLogin(); [Inject] - public UserLogin uLogin { get; set; } + public UserLogin uLogin { get; set; } private string ErrorConnexion; @@ -36,17 +36,17 @@ namespace WF_WebAdmin.Pages { foreach (var user in usersConnexion) { - if(userLogin.Name == user.Name && userLogin.Mdp == user.Mdp) + if (userLogin.Name == user.Name && userLogin.Mdp == user.Mdp) { - if(user.IsAdmin) + if (user.IsAdmin) { uLogin.Id = userLogin.Id; uLogin.Name = user.Name; uLogin.Image = user.Image; - - NavigationManager.NavigateTo(NavigationManager.BaseUri + "/accueil"); + + NavigationManager.NavigateTo(NavigationManager.BaseUri + "accueil"); return; - + } else { @@ -59,9 +59,9 @@ namespace WF_WebAdmin.Pages ErrorConnexion = "Connexion échouée, le nom ou le mot de passe sont incorrectes"; } } - + } - + } } } \ No newline at end of file diff --git a/WF-WebAdmin/WF-WebAdmin/Program.cs b/WF-WebAdmin/WF-WebAdmin/Program.cs index fb07a82..5471291 100644 --- a/WF-WebAdmin/WF-WebAdmin/Program.cs +++ b/WF-WebAdmin/WF-WebAdmin/Program.cs @@ -5,6 +5,8 @@ using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components.Web; using WF_WebAdmin.Data; using WF_WebAdmin.Model; +using Microsoft.Extensions.Logging; + var builder = WebApplication.CreateBuilder(args); @@ -16,6 +18,8 @@ builder.Services.AddSingleton(); builder.Services.AddHttpClient(); builder.Services.AddScoped(); +builder.Logging.AddConfiguration(builder.Configuration.GetSection("Logging")); + builder.Services .AddBlazorise() .AddBootstrapProviders() diff --git a/WF-WebAdmin/WF-WebAdmin/Shared/NavMenu.razor b/WF-WebAdmin/WF-WebAdmin/Shared/NavMenu.razor index 28062bd..1dea500 100644 --- a/WF-WebAdmin/WF-WebAdmin/Shared/NavMenu.razor +++ b/WF-WebAdmin/WF-WebAdmin/Shared/NavMenu.razor @@ -43,6 +43,12 @@ + + -- 2.36.3 From 25963b2c388fa7e83316dc30a81b5c6ae1261929 Mon Sep 17 00:00:00 2001 From: Kentin BRONGNIART Date: Wed, 5 Feb 2025 15:37:15 +0100 Subject: [PATCH 2/3] =?UTF-8?q?Finition=20des=20logs=20(fonction=20cr?= =?UTF-8?q?=C3=A9=C3=A9=20a=20rajouter=20sur=20tous=20les=20bouton=20pour?= =?UTF-8?q?=20la=20cr=C3=A9ation=20des=20logs=20/=20logs=20enregister=20et?= =?UTF-8?q?=20afficher=20dans=20la=20page=20logs)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WF-WebAdmin/Model/LoggerSaveStub.cs | 91 ++++++------------- WF-WebAdmin/WF-WebAdmin/Model/Logs.cs | 14 +++ .../WF-WebAdmin/Pages/DeleteUser.razor.cs | 6 +- WF-WebAdmin/WF-WebAdmin/Pages/LogsPage.razor | 34 +++++++ .../WF-WebAdmin/Pages/LogsPage.razor.cs | 21 +++++ .../WF-WebAdmin/Service/ILogsService.cs | 17 ++++ .../WF-WebAdmin/Service/LogsServiceStub.cs | 67 ++++++++++++++ .../WF-WebAdmin/wwwroot/fake_data_logs.json | 18 ++++ 8 files changed, 203 insertions(+), 65 deletions(-) create mode 100644 WF-WebAdmin/WF-WebAdmin/Model/Logs.cs create mode 100644 WF-WebAdmin/WF-WebAdmin/Pages/LogsPage.razor create mode 100644 WF-WebAdmin/WF-WebAdmin/Pages/LogsPage.razor.cs create mode 100644 WF-WebAdmin/WF-WebAdmin/Service/ILogsService.cs create mode 100644 WF-WebAdmin/WF-WebAdmin/Service/LogsServiceStub.cs create mode 100644 WF-WebAdmin/WF-WebAdmin/wwwroot/fake_data_logs.json diff --git a/WF-WebAdmin/WF-WebAdmin/Model/LoggerSaveStub.cs b/WF-WebAdmin/WF-WebAdmin/Model/LoggerSaveStub.cs index 28ec514..0d71a7f 100644 --- a/WF-WebAdmin/WF-WebAdmin/Model/LoggerSaveStub.cs +++ b/WF-WebAdmin/WF-WebAdmin/Model/LoggerSaveStub.cs @@ -1,70 +1,39 @@ -using Microsoft.Extensions.Logging; -using System.Xml.Linq; -using static WF_WebAdmin.Model.LoggerSaveStub.CustomLoggerConfiguration; +using Microsoft.AspNetCore.Components; +using Microsoft.Extensions.Configuration.UserSecrets; +using Microsoft.Extensions.Logging; +using Microsoft.VisualBasic; +using System.Diagnostics; +using WF_WebAdmin.Pages; +using WF_WebAdmin.Service; namespace WF_WebAdmin.Model { - - public sealed class LoggerSaveStub : ILogger + public static partial class LoggerSaveStub { - internal class CustomLoggerConfiguration - { - public int EventId { get; set; } - - public Dictionary LogLevels { get; set; } = - new() - { - [LogLevel.Information] = LogFormat.Short, - [LogLevel.Warning] = LogFormat.Short, - [LogLevel.Error] = LogFormat.Long - }; - - public enum LogFormat - { - Short, - Long - } - } - - - private readonly string name; - private readonly Func getCurrentConfig; - - - public IDisposable BeginScope(TState state) => default!; - - public bool IsEnabled(LogLevel logLevel) => - getCurrentConfig().LogLevels.ContainsKey(logLevel); - - public void Log( - LogLevel logLevel, - EventId eventId, - TState state, - Exception? exception, - Func formatter) + public static void Log(ILogger logs,LogLevel logLevel,string message) { - if (!IsEnabled(logLevel)) - { - return; - } - CustomLoggerConfiguration config = getCurrentConfig(); + ILogsService logsService = new LogsServiceStub(); + logsService.addLogs( new Logs( logLevel , message ) ); - if (config.EventId == 0 || config.EventId == eventId.Id) - { - switch (config.LogLevels[logLevel]) - { - case LogFormat.Short: - Console.WriteLine($"{name}: {formatter(state, exception)}"); - break; - case LogFormat.Long: - Console.WriteLine($"[{eventId.Id,2}: {logLevel,-12}] {name} - {formatter(state, exception)}"); - break; - default: - // No-op - break; - } - } + logs.Log(logLevel, message ); } } -} \ No newline at end of file +} + +/* + * [Inject] + * public ILogger< Class > Logger { get; set; } + * + * LoggerSaveStub.Log(Logger,LogLevel. level , message ); + * + * + * LogLevel: + * Trace = 0, + * Debug = 1, + * Information = 2, + * Warning = 3, + * Error = 4, + * Critical = 5, + * None = 6, +*/ \ No newline at end of file diff --git a/WF-WebAdmin/WF-WebAdmin/Model/Logs.cs b/WF-WebAdmin/WF-WebAdmin/Model/Logs.cs new file mode 100644 index 0000000..bc03208 --- /dev/null +++ b/WF-WebAdmin/WF-WebAdmin/Model/Logs.cs @@ -0,0 +1,14 @@ +namespace WF_WebAdmin.Model +{ + public class Logs + { + public LogLevel LogLevel { get; set; } + + public string Message { get; set; } + + public Logs(LogLevel logLevel , string message) { + this.LogLevel=logLevel; + this.Message=message; + } + } +} diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs b/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs index f377d66..a2c46da 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs +++ b/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs @@ -10,8 +10,6 @@ namespace WF_WebAdmin.Pages [Inject] public ILogger Logger { get; set; } - public LoggerSaveStub logger { get; set; } - private List users; @@ -36,8 +34,8 @@ namespace WF_WebAdmin.Pages // ------- Popup remove user ------- private void ShowConfirmation(User user) { - Logger.LogInformation( "Demande de suprétion de l'utilisateur : { Name }",user.Name); - //logger.LogInformation( "Demande de suprétion de l'utilisateur : { Name }",user.Name); + LoggerSaveStub.Log(Logger,LogLevel.Information, $"Demande de supretion de l utilisateur : { user.Name }"); + userToDelete = user; showPopupDelete = true; } diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/LogsPage.razor b/WF-WebAdmin/WF-WebAdmin/Pages/LogsPage.razor new file mode 100644 index 0000000..4799da4 --- /dev/null +++ b/WF-WebAdmin/WF-WebAdmin/Pages/LogsPage.razor @@ -0,0 +1,34 @@ +@page "/logs" + +

Logs

+ + +@if (logs is null) +{ +

Aucun Logs

+} +@* else if (quotes.Count == 0) +{ +

Aucune citation en attente de validation.

+} *@ +else +{ +

Citations en attente de validation :

+ + + + + + + + + @foreach (var log in logs) + { + + + + + } + +
LogLevel :Message :
@log.LogLevel@log.Message
+} \ No newline at end of file diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/LogsPage.razor.cs b/WF-WebAdmin/WF-WebAdmin/Pages/LogsPage.razor.cs new file mode 100644 index 0000000..559df24 --- /dev/null +++ b/WF-WebAdmin/WF-WebAdmin/Pages/LogsPage.razor.cs @@ -0,0 +1,21 @@ +using Microsoft.AspNetCore.Components; +using WF_WebAdmin.Model; + +namespace WF_WebAdmin.Pages +{ + public partial class LogsPage + { + private Logs[] logs; + + [Inject] + public HttpClient Http { get; set; } + + [Inject] + public NavigationManager NavigationManager { get; set; } + + protected override async Task OnInitializedAsync() + { + logs = await Http.GetFromJsonAsync($"{NavigationManager.BaseUri}fake_data_logs.json"); + } + } +} \ No newline at end of file diff --git a/WF-WebAdmin/WF-WebAdmin/Service/ILogsService.cs b/WF-WebAdmin/WF-WebAdmin/Service/ILogsService.cs new file mode 100644 index 0000000..5c5a5d8 --- /dev/null +++ b/WF-WebAdmin/WF-WebAdmin/Service/ILogsService.cs @@ -0,0 +1,17 @@ +using WF_WebAdmin.Model; + +namespace WF_WebAdmin.Service +{ + public interface ILogsService + { + public Task removeLogs(Logs logs); + + public Task> getAllLogs(); + + public Task> getSomeLogs(int nb, int page); + + public Task addLogs(Logs logs); + + public Task getNbLogs(); + } +} diff --git a/WF-WebAdmin/WF-WebAdmin/Service/LogsServiceStub.cs b/WF-WebAdmin/WF-WebAdmin/Service/LogsServiceStub.cs new file mode 100644 index 0000000..d933ed0 --- /dev/null +++ b/WF-WebAdmin/WF-WebAdmin/Service/LogsServiceStub.cs @@ -0,0 +1,67 @@ +using Microsoft.AspNetCore.Mvc.RazorPages; +using System.Text.Json; +using WF_WebAdmin.Model; + +namespace WF_WebAdmin.Service +{ + public class LogsServiceStub : ILogsService + { + private readonly string _jsonFilePath = Path.Combine(Environment.CurrentDirectory, "wwwroot", "fake_data_logs.json"); + + public async Task saveLogsJson(List logs) + { + var json = JsonSerializer.Serialize(logs, new JsonSerializerOptions { WriteIndented = true }); + await File.WriteAllTextAsync(_jsonFilePath, json); + } + + + public async Task addLogs(Logs logs) + { + var data = await getAllLogs(); + + data.Add(logs); + await saveLogsJson(data); + } + + + public async Task> getAllLogs() + { + if (!File.Exists(_jsonFilePath)) + { + Console.Out.WriteLine($"{_jsonFilePath} not found"); + return new List(); + } + + var json = await File.ReadAllTextAsync(_jsonFilePath); + return JsonSerializer.Deserialize>(json) ?? new List(); + + } + + public async Task getNbLogs() + { + throw new NotImplementedException(); + } + + public async Task> getSomeLogs(int nb, int page) + { + var logs = await getAllLogs(); + if ((page - 1) * nb + nb > logs.Count()) + { + return logs.GetRange(logs.Count() - nb, nb); + } + return logs.GetRange((page - 1) * nb, nb); + + } + + public async Task removeLogs(Logs logs) + { + var data = await getAllLogs(); + var l = data.FirstOrDefault(p => p.Message ==logs.Message && p.LogLevel==logs.LogLevel); + if (l != null) + { + data.Remove(l); + await saveLogsJson(data); + } + } + } +} diff --git a/WF-WebAdmin/WF-WebAdmin/wwwroot/fake_data_logs.json b/WF-WebAdmin/WF-WebAdmin/wwwroot/fake_data_logs.json new file mode 100644 index 0000000..10aad98 --- /dev/null +++ b/WF-WebAdmin/WF-WebAdmin/wwwroot/fake_data_logs.json @@ -0,0 +1,18 @@ +[ + { + "LogLevel": 1, + "Message": "Logs de test" + }, + { + "LogLevel": 2, + "Message": "Demande de supretion de l utilisateur : admin" + }, + { + "LogLevel": 2, + "Message": "Demande de supretion de l utilisateur : testeur" + }, + { + "LogLevel": 2, + "Message": "Demande de supretion de l utilisateur : dev" + } +] \ No newline at end of file -- 2.36.3 From 2d314b5a87b0c8272d277be3d1a460741a1eda4d Mon Sep 17 00:00:00 2001 From: "kentin.brongniart" Date: Fri, 7 Feb 2025 16:59:58 +0100 Subject: [PATCH 3/3] Logs complet --- .../WF-WebAdmin/Model/LoggerSaveStub.cs | 30 ++++++------ WF-WebAdmin/WF-WebAdmin/Pages/Accueil.razor | 4 +- .../WF-WebAdmin/Pages/Accueil.razor.cs | 9 ++++ .../WF-WebAdmin/Pages/AddQuiz.razor.cs | 6 ++- .../WF-WebAdmin/Pages/DeleteUser.razor.cs | 13 ++--- WF-WebAdmin/WF-WebAdmin/Pages/Edit.razor.cs | 5 ++ WF-WebAdmin/WF-WebAdmin/Pages/Login.razor | 2 +- .../WF-WebAdmin/Pages/ModifQuiz.razor.cs | 6 +++ .../WF-WebAdmin/Pages/ModifQuote.razor.cs | 6 +++ .../WF-WebAdmin/Pages/ValidQuiz.razor.cs | 8 ++++ WF-WebAdmin/WF-WebAdmin/Program.cs | 2 +- .../WF-WebAdmin/Shared/MainLayout.razor | 14 +++--- WF-WebAdmin/WF-WebAdmin/Shared/NavMenu.razor | 2 +- .../WF-WebAdmin/wwwroot/fake-dataQuote.json | 2 +- .../WF-WebAdmin/wwwroot/fake_data_logs.json | 48 +++++++++++++++++++ .../WF-WebAdmin/wwwroot/fake_data_quiz.json | 25 +++------- .../WF-WebAdmin/wwwroot/fake_data_users.json | 2 +- 17 files changed, 131 insertions(+), 53 deletions(-) diff --git a/WF-WebAdmin/WF-WebAdmin/Model/LoggerSaveStub.cs b/WF-WebAdmin/WF-WebAdmin/Model/LoggerSaveStub.cs index 0d71a7f..0920ee3 100644 --- a/WF-WebAdmin/WF-WebAdmin/Model/LoggerSaveStub.cs +++ b/WF-WebAdmin/WF-WebAdmin/Model/LoggerSaveStub.cs @@ -2,7 +2,9 @@ using Microsoft.Extensions.Configuration.UserSecrets; using Microsoft.Extensions.Logging; using Microsoft.VisualBasic; +using System; using System.Diagnostics; +using System.Security.Claims; using WF_WebAdmin.Pages; using WF_WebAdmin.Service; @@ -22,18 +24,18 @@ namespace WF_WebAdmin.Model } /* - * [Inject] - * public ILogger< Class > Logger { get; set; } - * - * LoggerSaveStub.Log(Logger,LogLevel. level , message ); - * - * - * LogLevel: - * Trace = 0, - * Debug = 1, - * Information = 2, - * Warning = 3, - * Error = 4, - * Critical = 5, - * None = 6, +[Inject] +public ILogger< Class > Logger { get; set; } + +LoggerSaveStub.Log(Logger,LogLevel. level , message ); + + +LogLevel: +Trace = 0, +Debug = 1, +Information = 2, +Warning = 3, +Error = 4, +Critical = 5, +None = 6, */ \ No newline at end of file diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/Accueil.razor b/WF-WebAdmin/WF-WebAdmin/Pages/Accueil.razor index 099d4dd..d9af67e 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/Accueil.razor +++ b/WF-WebAdmin/WF-WebAdmin/Pages/Accueil.razor @@ -1,4 +1,4 @@ -@page "/Accueil" +@page "/" @using WF_WebAdmin.Model Accueil @@ -28,5 +28,5 @@ else }

@Localizer["AccueilManualChange"]

- + diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/Accueil.razor.cs b/WF-WebAdmin/WF-WebAdmin/Pages/Accueil.razor.cs index 797b255..3117665 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/Accueil.razor.cs +++ b/WF-WebAdmin/WF-WebAdmin/Pages/Accueil.razor.cs @@ -1,6 +1,7 @@ using Blazorise.DataGrid; using Microsoft.AspNetCore.Components; using Microsoft.Extensions.Localization; +using System.Security.Claims; using WF_WebAdmin.Model; @@ -9,6 +10,8 @@ namespace WF_WebAdmin.Pages public partial class Accueil { private Quote[] Dailyquote; + [Inject] + public ILogger Logger { get; set; } [Inject] public HttpClient Http { get; set; } @@ -23,5 +26,11 @@ namespace WF_WebAdmin.Pages Dailyquote = await Http.GetFromJsonAsync($"{NavigationManager.BaseUri}fake-dataDailyQuote.json"); } + private void RandomDailyquote() + { + //fonction a compléter + LoggerSaveStub.Log(Logger, LogLevel.Information, "Changement aléatoire de la quote du jour"); + } } } + diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/AddQuiz.razor.cs b/WF-WebAdmin/WF-WebAdmin/Pages/AddQuiz.razor.cs index ff10734..7d11c03 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/AddQuiz.razor.cs +++ b/WF-WebAdmin/WF-WebAdmin/Pages/AddQuiz.razor.cs @@ -4,12 +4,16 @@ using WF_WebAdmin.Model; using Microsoft.AspNetCore.Mvc; using System.Text.RegularExpressions; using Microsoft.Extensions.Localization; +using Microsoft.Extensions.Logging; +using System.Security.Claims; namespace WF_WebAdmin.Pages { public partial class AddQuiz { + [Inject] + public ILogger Logger { get; set; } [Inject] public IStringLocalizer Localizer { get; set; } @@ -24,10 +28,10 @@ namespace WF_WebAdmin.Pages private async void HandleValidSubmit() { - int id; id = await quizService.getNbQuiz(); id++; + LoggerSaveStub.Log(Logger, LogLevel.Information, $"Création de la question {QuizModel.Question}"); await quizService.addQuiz(new Quiz( id, validateInformation(QuizModel.Question), diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs b/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs index e363cee..5bebc2f 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs +++ b/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs @@ -18,7 +18,6 @@ namespace WF_WebAdmin.Pages private bool showDeletePopup = false; private bool showModifyPopup = false; - private List users; private User userToDelete = null; private User selectedUser; private bool showPopupDelete = false; @@ -68,9 +67,7 @@ namespace WF_WebAdmin.Pages // ------- Popup remove user ------- private void ShowConfirmation(User user) - { - LoggerSaveStub.Log(Logger,LogLevel.Information, $"Demande de supretion de l utilisateur : { user.Name }"); - + { userToDelete = user; showPopupDelete = true; } @@ -85,7 +82,8 @@ namespace WF_WebAdmin.Pages private async Task RemoveUser() { if (userToDelete != null) - { + { + LoggerSaveStub.Log(Logger, LogLevel.Information, $"Supretion de l utilisateur : {userToDelete.Name}"); await userService.removeUser(userToDelete); ClosePopup(); var response = await userService.getSomeUser(MaxValue, page); @@ -94,7 +92,8 @@ namespace WF_WebAdmin.Pages } private async Task ModifyUser() - { + { + LoggerSaveStub.Log(Logger, LogLevel.Information, $"Modification de l utilisateur : {selectedUser.Name}"); await userService.updateUser(selectedUser); ClosePopup(); } @@ -121,12 +120,14 @@ namespace WF_WebAdmin.Pages { if (!userToAdmin.IsAdmin) { + LoggerSaveStub.Log(Logger, LogLevel.Information, $"L utilisateur {userToAdmin.Name} a ete mis en administrateur"); userToAdmin.IsAdmin = true; await userService.updateUser(userToAdmin); ClosePopup(); } else { + LoggerSaveStub.Log(Logger, LogLevel.Information, $"L utilisateur {userToAdmin.Name} n'est plus administrateur"); userToAdmin.IsAdmin = false; await userService.updateUser(userToAdmin); ClosePopup(); diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/Edit.razor.cs b/WF-WebAdmin/WF-WebAdmin/Pages/Edit.razor.cs index 71bb9f0..f04058f 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/Edit.razor.cs +++ b/WF-WebAdmin/WF-WebAdmin/Pages/Edit.razor.cs @@ -1,4 +1,5 @@ using Microsoft.AspNetCore.Components; +using System.Security.Claims; using WF_WebAdmin.Model; using WF_WebAdmin.Service; @@ -9,6 +10,9 @@ namespace WF_WebAdmin.Pages [Parameter] public int Id { get; set; } + [Inject] + public ILogger Logger { get; set; } + [Inject] private IQuoteService quoteService { get; set; } @@ -42,6 +46,7 @@ namespace WF_WebAdmin.Pages protected async void HandleValidSubmit() { + LoggerSaveStub.Log(Logger, LogLevel.Information, $"Modification de la quote {q.Content}"); q.Content = quoteModel.Content; q.Langue = quoteModel.Langue; q.TitleSrc = quoteModel.TitleSrc; diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/Login.razor b/WF-WebAdmin/WF-WebAdmin/Pages/Login.razor index f6089d6..c437551 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/Login.razor +++ b/WF-WebAdmin/WF-WebAdmin/Pages/Login.razor @@ -1,4 +1,4 @@ -@page "/" +@page "/Login" @using WF_WebAdmin.Model @using System.Globalization diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/ModifQuiz.razor.cs b/WF-WebAdmin/WF-WebAdmin/Pages/ModifQuiz.razor.cs index 6ba0d53..366b158 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/ModifQuiz.razor.cs +++ b/WF-WebAdmin/WF-WebAdmin/Pages/ModifQuiz.razor.cs @@ -1,6 +1,7 @@ using Blazorise.DataGrid; using Microsoft.AspNetCore.Components; using Microsoft.Extensions.Localization; +using System.Security.Claims; using WF_WebAdmin.Model; using WF_WebAdmin.Service; @@ -22,6 +23,9 @@ namespace WF_WebAdmin.Pages private int page = 1; + [Inject] + public ILogger Logger { get; set; } + [Inject] public IStringLocalizer Localizer { get; set; } @@ -61,6 +65,7 @@ namespace WF_WebAdmin.Pages private async Task EditQuiz() { + LoggerSaveStub.Log(Logger, LogLevel.Information, $"Modification de la question {selectedQuiz.Question}"); await QuizService.updateQuiz(selectedQuiz); selectedQuiz = null; ClosePopup(); @@ -76,6 +81,7 @@ namespace WF_WebAdmin.Pages { if (selectedQuiz != null) { + LoggerSaveStub.Log(Logger, LogLevel.Information, $"Supretion de la question {selectedQuiz.Question}"); await QuizService.removeQuiz(selectedQuiz.Id); selectedQuiz = null; var response = await QuizService.getSommeQuiz(MaxValue, page); diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/ModifQuote.razor.cs b/WF-WebAdmin/WF-WebAdmin/Pages/ModifQuote.razor.cs index 8bf4ed1..09bd6ec 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/ModifQuote.razor.cs +++ b/WF-WebAdmin/WF-WebAdmin/Pages/ModifQuote.razor.cs @@ -1,6 +1,8 @@ using Blazorise.DataGrid; using Microsoft.AspNetCore.Components; using Microsoft.Extensions.Localization; +using Microsoft.Extensions.Logging; +using System.Security.Claims; using WF_WebAdmin.Model; using WF_WebAdmin.Service; @@ -22,6 +24,9 @@ namespace WF_WebAdmin.Pages private int page = 1; + [Inject] + public ILogger Logger { get; set; } + [Inject] public IStringLocalizer Localizer { get; set; } @@ -76,6 +81,7 @@ namespace WF_WebAdmin.Pages { if (selectedQuote != null) { + LoggerSaveStub.Log(Logger, LogLevel.Information, $"La quote {selectedQuote.Content} a ete suprimer"); await QuoteService.removeQuote(selectedQuote); selectedQuote= null; var response = await QuoteService.getSomeQuote(MaxValue, page); diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/ValidQuiz.razor.cs b/WF-WebAdmin/WF-WebAdmin/Pages/ValidQuiz.razor.cs index 6239fdd..a63707a 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/ValidQuiz.razor.cs +++ b/WF-WebAdmin/WF-WebAdmin/Pages/ValidQuiz.razor.cs @@ -1,6 +1,8 @@ using Blazorise.DataGrid; using Microsoft.AspNetCore.Components; using Microsoft.Extensions.Localization; +using Microsoft.Extensions.Logging; +using System.Security.Claims; using WF_WebAdmin.Model; using WF_WebAdmin.Service; @@ -9,6 +11,8 @@ namespace WF_WebAdmin.Pages public partial class ValidQuiz { private List quizzes; + [Inject] + public ILogger Logger { get; set; } [Inject] public IStringLocalizer Localizer { get; set; } @@ -34,6 +38,8 @@ namespace WF_WebAdmin.Pages private void ValidateQuiz(Quiz quiz) { + LoggerSaveStub.Log(Logger, LogLevel.Information, $"Quiz {quiz.Id} validated!"); + Console.WriteLine($"Quiz {quiz.Id} validated!"); Quiz newQuiz = quiz; @@ -50,6 +56,8 @@ namespace WF_WebAdmin.Pages private void RejectQuiz(Quiz quiz) { + LoggerSaveStub.Log(Logger, LogLevel.Information, $"Quiz {quiz.Id} rejected!"); + Console.WriteLine($"Quiz {quiz.Id} rejected!"); QuizService.removeQuiz(quiz.Id); diff --git a/WF-WebAdmin/WF-WebAdmin/Program.cs b/WF-WebAdmin/WF-WebAdmin/Program.cs index 81a3506..18b8666 100644 --- a/WF-WebAdmin/WF-WebAdmin/Program.cs +++ b/WF-WebAdmin/WF-WebAdmin/Program.cs @@ -26,7 +26,7 @@ builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddHttpClient(); builder.Services.AddScoped(); -builder.WebHost.UseUrls("http://0.0.0.0:5000"); +//builder.WebHost.UseUrls("http://0.0.0.0:5000"); builder.Logging.AddConfiguration(builder.Configuration.GetSection("Logging")); diff --git a/WF-WebAdmin/WF-WebAdmin/Shared/MainLayout.razor b/WF-WebAdmin/WF-WebAdmin/Shared/MainLayout.razor index eab28e1..e129354 100644 --- a/WF-WebAdmin/WF-WebAdmin/Shared/MainLayout.razor +++ b/WF-WebAdmin/WF-WebAdmin/Shared/MainLayout.razor @@ -5,29 +5,29 @@ WF-WebAdmin -
+
@* @if (uLogin.Name != null) - { + {*@ - } + @*}*@
- @if (!string.IsNullOrEmpty(uLogin.Name)) + @* @if (!string.IsNullOrEmpty(uLogin.Name)) { - @* *@ + } else { - + *@ - } + @*}*@
@Body diff --git a/WF-WebAdmin/WF-WebAdmin/Shared/NavMenu.razor b/WF-WebAdmin/WF-WebAdmin/Shared/NavMenu.razor index cfd963a..358d38d 100644 --- a/WF-WebAdmin/WF-WebAdmin/Shared/NavMenu.razor +++ b/WF-WebAdmin/WF-WebAdmin/Shared/NavMenu.razor @@ -15,7 +15,7 @@