From 793d8fab771406c2d46985e4762699ba0f49d5c0 Mon Sep 17 00:00:00 2001 From: "patrick.brugiere" Date: Mon, 15 Jan 2024 17:29:42 +0100 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=85=8D=E7=BD=AE=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adminBlazor/Models/UserOptions.cs | 30 +++++ .../adminBlazor/Pages/Config.razor | 16 +++ .../adminBlazor/Pages/Config.razor.cs | 24 ++++ Project/adminBlazor/adminBlazor/Program.cs | 106 +++++++++--------- 4 files changed, 125 insertions(+), 51 deletions(-) create mode 100644 Project/adminBlazor/adminBlazor/Models/UserOptions.cs create mode 100644 Project/adminBlazor/adminBlazor/Pages/Config.razor create mode 100644 Project/adminBlazor/adminBlazor/Pages/Config.razor.cs diff --git a/Project/adminBlazor/adminBlazor/Models/UserOptions.cs b/Project/adminBlazor/adminBlazor/Models/UserOptions.cs new file mode 100644 index 0000000..30d266d --- /dev/null +++ b/Project/adminBlazor/adminBlazor/Models/UserOptions.cs @@ -0,0 +1,30 @@ +using System.Data; + +namespace adminBlazor.Models +{ + public class UserOptions + { + public const string User = "User"; + + public int Id { get; set; } + public string Name { get; set; } + public string Surname { get; set; } + public string Nickname { get; set; } + public bool ExtraTime { get; set; } + public int Group { get; set; } + + public List Roles { get; set; } + + public UserOptions() + { + // Constructeur sans paramètre public + Id = 1; + Name = "DefaultName"; + Surname = "DefaultSurname"; + Nickname = "DefaultNickname"; + ExtraTime = false; + Group = 0; + Roles = new List(); + } + } +} diff --git a/Project/adminBlazor/adminBlazor/Pages/Config.razor b/Project/adminBlazor/adminBlazor/Pages/Config.razor new file mode 100644 index 0000000..2005233 --- /dev/null +++ b/Project/adminBlazor/adminBlazor/Pages/Config.razor @@ -0,0 +1,16 @@ +@page "/config" + +

Config

+ +@if (userOptions != null) +{ +
+
Title: @userOptions.Id
+
Name: @userOptions.Name
+
Surname: @userOptions.Surname
+
Nickname: @userOptions.Nickname
+
ExtraTime: @userOptions.ExtraTime
+
Group: @userOptions.Group
+
Roles: @string.Join(", ", userOptions.Roles)
+
+} \ No newline at end of file diff --git a/Project/adminBlazor/adminBlazor/Pages/Config.razor.cs b/Project/adminBlazor/adminBlazor/Pages/Config.razor.cs new file mode 100644 index 0000000..5caf8b0 --- /dev/null +++ b/Project/adminBlazor/adminBlazor/Pages/Config.razor.cs @@ -0,0 +1,24 @@ +using Microsoft.AspNetCore.Components; +using adminBlazor.Models; +using Microsoft.Extensions.Options; +namespace adminBlazor.Pages +{ + public partial class Config + { + [Inject] + public IConfiguration Configuration { get; set; } + + + private UserOptions userOptions; + + protected override void OnInitialized() + { + base.OnInitialized(); + + + userOptions = Configuration.GetSection(UserOptions.User).Get(); + + } + } +} + diff --git a/Project/adminBlazor/adminBlazor/Program.cs b/Project/adminBlazor/adminBlazor/Program.cs index 45f8e38..4cf4ebf 100644 --- a/Project/adminBlazor/adminBlazor/Program.cs +++ b/Project/adminBlazor/adminBlazor/Program.cs @@ -11,82 +11,86 @@ using Microsoft.AspNetCore.Localization; using System.Globalization; using Microsoft.Extensions.Options; using Microsoft.Net.Http.Headers; +using adminBlazor.Models; + var builder = WebApplication.CreateBuilder(args); -// Add services to the container. + // Add services to the container. + + builder.Services.AddRazorPages(); + builder.Services.AddServerSideBlazor(); + builder.Services.AddSingleton(); + builder.Services.AddScoped(); -builder.Services.AddRazorPages(); -builder.Services.AddServerSideBlazor(); -builder.Services.AddSingleton(); -builder.Services.AddScoped(); + //builder.Services.AddScoped(); -//builder.Services.AddScoped(); + builder.Services.AddScoped(); -builder.Services.AddScoped(); + builder.Services.AddHttpClient(); + builder.Services.AddBlazoredLocalStorage(); + builder.Services.AddBlazoredModal(); -builder.Services.AddHttpClient(); -builder.Services.AddBlazoredLocalStorage(); -builder.Services.AddBlazoredModal(); // Add the controller of the app builder.Services.AddControllers(); -// Add the localization to the app and specify the resources path -builder.Services.AddLocalization(opts => { opts.ResourcesPath = "Resources"; }); + // Add the localization to the app and specify the resources path + builder.Services.AddLocalization(opts => { opts.ResourcesPath = "Resources"; }); + + // Configure the localtization + builder.Services.Configure(options => + { + // Set the default culture of the web site + options.DefaultRequestCulture = new RequestCulture(new CultureInfo("en-US")); -// Configure the localtization -builder.Services.Configure(options => -{ - // Set the default culture of the web site - options.DefaultRequestCulture = new RequestCulture(new CultureInfo("en-US")); + // Declare the supported culture + options.SupportedCultures = new List { new CultureInfo("en-US"), new CultureInfo("fr-FR") }; + options.SupportedUICultures = new List { new CultureInfo("en-US"), new CultureInfo("fr-FR") }; + }); - // Declare the supported culture - options.SupportedCultures = new List { new CultureInfo("en-US"), new CultureInfo("fr-FR") }; - options.SupportedUICultures = new List { new CultureInfo("en-US"), new CultureInfo("fr-FR") }; -}); + builder.Services + .AddBlazorise() + .AddBootstrapProviders() + .AddFontAwesomeIcons(); -builder.Services - .AddBlazorise() - .AddBootstrapProviders() - .AddFontAwesomeIcons(); + var app = builder.Build(); -var app = builder.Build(); + // Configure the HTTP request pipeline. + if (!app.Environment.IsDevelopment()) + { + app.UseExceptionHandler("/Error"); + // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. + app.UseHsts(); + } -// Configure the HTTP request pipeline. -if (!app.Environment.IsDevelopment()) -{ - app.UseExceptionHandler("/Error"); - // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. - app.UseHsts(); -} + app.UseHttpsRedirection(); -app.UseHttpsRedirection(); + app.UseStaticFiles(); -app.UseStaticFiles(); + app.UseRouting(); -app.UseRouting(); + // Get the current localization options + var options = ((IApplicationBuilder)app).ApplicationServices.GetService>(); -// Get the current localization options -var options = ((IApplicationBuilder)app).ApplicationServices.GetService>(); + if (options?.Value != null) + { + // use the default localization + app.UseRequestLocalization(options.Value); + } -if (options?.Value != null) -{ - // use the default localization - app.UseRequestLocalization(options.Value); -} + // Add the controller to the endpoint + app.UseEndpoints(endpoints => + { + endpoints.MapControllers(); + }); -// Add the controller to the endpoint -app.UseEndpoints(endpoints => -{ - endpoints.MapControllers(); -}); + app.MapBlazorHub(); + app.MapFallbackToPage("/_Host"); -app.MapBlazorHub(); -app.MapFallbackToPage("/_Host"); + app.Run(); -app.Run();