From 8881c0f4be5377201762669e1b70c1f34f48d60b Mon Sep 17 00:00:00 2001 From: "arthur.valin" Date: Sat, 31 Dec 2022 20:52:40 +0100 Subject: [PATCH 1/3] Correcting registration bug --- src/CraftSharp/Pages/Inscription.razor.cs | 23 +++++++++++++++-------- src/CraftSharp/Services/AuthService.cs | 12 +++++++++++- 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/src/CraftSharp/Pages/Inscription.razor.cs b/src/CraftSharp/Pages/Inscription.razor.cs index 38f2417..cc747b7 100644 --- a/src/CraftSharp/Pages/Inscription.razor.cs +++ b/src/CraftSharp/Pages/Inscription.razor.cs @@ -36,14 +36,21 @@ namespace CraftSharp.Pages private async Task OnSubmit() { - - await AuthStateProvider.Register(registerRequest); - var stringified = JsonConvert.SerializeObject(new ConnexionModel() { - Password=registerRequest.Password, - UserName=registerRequest.UserName} - ); - var response = await httpClient.PostAsJsonAsync($"{NavigationManager.BaseUri}User/SetUser", stringified); - NavigationManager.NavigateTo("index"); + try + { + await AuthStateProvider.Register(registerRequest); + var stringified = JsonConvert.SerializeObject(new ConnexionModel() + { + Password = registerRequest.Password, + UserName = registerRequest.UserName + } + ); + var response = await httpClient.PostAsJsonAsync($"{NavigationManager.BaseUri}User/SetUser", stringified); + NavigationManager.NavigateTo("index"); + }catch (Exception ex) + { + error = ex.Message; + } } } diff --git a/src/CraftSharp/Services/AuthService.cs b/src/CraftSharp/Services/AuthService.cs index 8249e6f..d384a60 100644 --- a/src/CraftSharp/Services/AuthService.cs +++ b/src/CraftSharp/Services/AuthService.cs @@ -65,7 +65,17 @@ namespace CraftSharp.Services public void Register(InscriptionModel registerRequest) { - CurrentUser.Add(new AppUser { UserName = registerRequest.UserName, Password = registerRequest.Password, Roles = new List { UserRoles.User } }); + var user = CurrentUser.FirstOrDefault(w => w.UserName == registerRequest.UserName); + + if (user == null) + { + CurrentUser.Add(new AppUser { UserName = registerRequest.UserName, Password = registerRequest.Password, Roles = new List { UserRoles.User } }); + } + else + { + throw new Exception("Username already taken !"); + + } } } } From 374292474893a2b25976e3c146d6c394ac4ede06 Mon Sep 17 00:00:00 2001 From: "arthur.valin" Date: Sat, 31 Dec 2022 21:12:17 +0100 Subject: [PATCH 2/3] creating separate code for unknown page --- src/CraftSharp/App.razor | 10 ++------ src/CraftSharp/App.razor.cs | 17 ------------- src/CraftSharp/Pages/UnknownPage.razor | 6 +++++ src/CraftSharp/Pages/UnknownPage.razor.cs | 31 +++++++++++++++++++++++ 4 files changed, 39 insertions(+), 25 deletions(-) create mode 100644 src/CraftSharp/Pages/UnknownPage.razor create mode 100644 src/CraftSharp/Pages/UnknownPage.razor.cs diff --git a/src/CraftSharp/App.razor b/src/CraftSharp/App.razor index ca31ce6..8fe1e0c 100644 --- a/src/CraftSharp/App.razor +++ b/src/CraftSharp/App.razor @@ -9,14 +9,8 @@ - @{ErrorHandler(5);} -
-

- Oups, la page que à laquelle vous essayez d'accéder n'existe pas ! -

Retour à la page d'accueil dans 5s

-

-
-
+ +
diff --git a/src/CraftSharp/App.razor.cs b/src/CraftSharp/App.razor.cs index 915b810..500cf43 100644 --- a/src/CraftSharp/App.razor.cs +++ b/src/CraftSharp/App.razor.cs @@ -5,22 +5,5 @@ namespace CraftSharp { public partial class App { - [Inject] - public NavigationManager NavigationManager { get; set; } - - [Inject] - public ILogger Logger { get; set; } - - public async Task ErrorHandler(int countdown) { - Logger.Log(LogLevel.Error, $"Navigating to unknown page : {NavigationManager.Uri}"); - while(countdown > 0) - { - await Task.Delay(1000); - countdown--; - StateHasChanged(); - } - NavigationManager.NavigateTo("index"); - } - } } diff --git a/src/CraftSharp/Pages/UnknownPage.razor b/src/CraftSharp/Pages/UnknownPage.razor new file mode 100644 index 0000000..8f9ae3a --- /dev/null +++ b/src/CraftSharp/Pages/UnknownPage.razor @@ -0,0 +1,6 @@ +
+

+ Oups, la page que à laquelle vous essayez d'accéder n'existe pas ! +

Retour à la page d'accueil dans @countdown s

+

+
\ No newline at end of file diff --git a/src/CraftSharp/Pages/UnknownPage.razor.cs b/src/CraftSharp/Pages/UnknownPage.razor.cs new file mode 100644 index 0000000..6cef082 --- /dev/null +++ b/src/CraftSharp/Pages/UnknownPage.razor.cs @@ -0,0 +1,31 @@ +using CraftSharp.Shared; +using Microsoft.AspNetCore.Components; + +namespace CraftSharp.Pages +{ + public partial class UnknownPage + { + + int countdown = 10; + + [Inject] + public ILogger Logger { get; set; } + + [Inject] + public NavigationManager NavigationManager { get; set; } + + protected override async Task OnInitializedAsync() + { + Logger.Log(LogLevel.Error, $"Navigating to unknown page : {NavigationManager.Uri}"); + + while (countdown > 0) + { + await Task.Delay(1000); + countdown--; + StateHasChanged(); + + } + NavigationManager.NavigateTo("index"); + } + } +} From d7a487adab02eb52a78b561d62a2b0e06a7c1cbd Mon Sep 17 00:00:00 2001 From: "arthur.valin" Date: Sat, 31 Dec 2022 21:25:24 +0100 Subject: [PATCH 3/3] Adding localization to error view --- src/CraftSharp/App.razor | 8 +- src/CraftSharp/App.razor.cs | 22 ++++ src/CraftSharp/Pages/UnknownPage.razor | 6 -- src/CraftSharp/Pages/UnknownPage.razor.cs | 31 ------ src/CraftSharp/Resources/App.fr-FR.resx | 126 ++++++++++++++++++++++ src/CraftSharp/Resources/App.resx | 126 ++++++++++++++++++++++ src/CraftSharp/Resources/App.tr-TR.resx | 126 ++++++++++++++++++++++ 7 files changed, 407 insertions(+), 38 deletions(-) delete mode 100644 src/CraftSharp/Pages/UnknownPage.razor delete mode 100644 src/CraftSharp/Pages/UnknownPage.razor.cs create mode 100644 src/CraftSharp/Resources/App.fr-FR.resx create mode 100644 src/CraftSharp/Resources/App.resx create mode 100644 src/CraftSharp/Resources/App.tr-TR.resx diff --git a/src/CraftSharp/App.razor b/src/CraftSharp/App.razor index 8fe1e0c..d4b64e7 100644 --- a/src/CraftSharp/App.razor +++ b/src/CraftSharp/App.razor @@ -9,7 +9,13 @@ - + @{ErrorHandler(5);} +
+

+ @Localizer["Unknown Page"] +

@Localizer["Countdown"]

+

+
diff --git a/src/CraftSharp/App.razor.cs b/src/CraftSharp/App.razor.cs index 500cf43..acc5f89 100644 --- a/src/CraftSharp/App.razor.cs +++ b/src/CraftSharp/App.razor.cs @@ -1,9 +1,31 @@ using CraftSharp.Shared; using Microsoft.AspNetCore.Components; +using Microsoft.Extensions.Localization; namespace CraftSharp { public partial class App { + [Inject] + public NavigationManager NavigationManager { get; set; } + + [Inject] + public ILogger Logger { get; set; } + + [Inject] + public IStringLocalizer Localizer { get; set; } + + public async Task ErrorHandler(int countdown) + { + Logger.Log(LogLevel.Error, $"Navigating to unknown page : {NavigationManager.Uri}"); + while (countdown > 0) + { + await Task.Delay(1000); + countdown--; + } + countdown = 5; + NavigationManager.NavigateTo("index"); + } + } } diff --git a/src/CraftSharp/Pages/UnknownPage.razor b/src/CraftSharp/Pages/UnknownPage.razor deleted file mode 100644 index 8f9ae3a..0000000 --- a/src/CraftSharp/Pages/UnknownPage.razor +++ /dev/null @@ -1,6 +0,0 @@ -
-

- Oups, la page que à laquelle vous essayez d'accéder n'existe pas ! -

Retour à la page d'accueil dans @countdown s

-

-
\ No newline at end of file diff --git a/src/CraftSharp/Pages/UnknownPage.razor.cs b/src/CraftSharp/Pages/UnknownPage.razor.cs deleted file mode 100644 index 6cef082..0000000 --- a/src/CraftSharp/Pages/UnknownPage.razor.cs +++ /dev/null @@ -1,31 +0,0 @@ -using CraftSharp.Shared; -using Microsoft.AspNetCore.Components; - -namespace CraftSharp.Pages -{ - public partial class UnknownPage - { - - int countdown = 10; - - [Inject] - public ILogger Logger { get; set; } - - [Inject] - public NavigationManager NavigationManager { get; set; } - - protected override async Task OnInitializedAsync() - { - Logger.Log(LogLevel.Error, $"Navigating to unknown page : {NavigationManager.Uri}"); - - while (countdown > 0) - { - await Task.Delay(1000); - countdown--; - StateHasChanged(); - - } - NavigationManager.NavigateTo("index"); - } - } -} diff --git a/src/CraftSharp/Resources/App.fr-FR.resx b/src/CraftSharp/Resources/App.fr-FR.resx new file mode 100644 index 0000000..e47d487 --- /dev/null +++ b/src/CraftSharp/Resources/App.fr-FR.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Retour à la page d'accueil dans 5s + + + Oups, la page que à laquelle vous essayez d'accéder n'existe pas ! + + \ No newline at end of file diff --git a/src/CraftSharp/Resources/App.resx b/src/CraftSharp/Resources/App.resx new file mode 100644 index 0000000..fcfd0f0 --- /dev/null +++ b/src/CraftSharp/Resources/App.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Redirection to home page in 5s + + + Oops, the page you're trying to access doesn't exists ! + + \ No newline at end of file diff --git a/src/CraftSharp/Resources/App.tr-TR.resx b/src/CraftSharp/Resources/App.tr-TR.resx new file mode 100644 index 0000000..f0c7784 --- /dev/null +++ b/src/CraftSharp/Resources/App.tr-TR.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 5 saniye içinde ana sayfaya dön + + + Hata, erişmeye çalıştığınız sayfa mevcut değil! + + \ No newline at end of file