From 8881c0f4be5377201762669e1b70c1f34f48d60b Mon Sep 17 00:00:00 2001 From: "arthur.valin" Date: Sat, 31 Dec 2022 20:52:40 +0100 Subject: [PATCH] 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 !"); + + } } } }