From d6f4628e1c7a3192cac58050c197a60dd9be211d Mon Sep 17 00:00:00 2001 From: "Daniel J. Summers" Date: Sun, 7 Feb 2021 17:09:43 -0500 Subject: [PATCH] Finish real name implementation (#12) Load name from profile on page load, update user's "current" name once the page is saved --- .../Pages/Citizens/EditProfile.razor.cs | 29 +++++++++++++++---- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/src/JobsJobsJobs/Client/Pages/Citizens/EditProfile.razor.cs b/src/JobsJobsJobs/Client/Pages/Citizens/EditProfile.razor.cs index c4a4d82..1cee3a9 100644 --- a/src/JobsJobsJobs/Client/Pages/Citizens/EditProfile.razor.cs +++ b/src/JobsJobsJobs/Client/Pages/Citizens/EditProfile.razor.cs @@ -48,9 +48,9 @@ namespace JobsJobsJobs.Client.Pages.Citizens ServerApi.SetJwt(http, state); var continentTask = state.GetContinents(http); var profileTask = ServerApi.RetrieveProfile(http, state); - //var citizenTask = ServerApi.RetrieveOne(http,) + var citizenTask = ServerApi.RetrieveOne(http, $"citizen/get/{state.User!.Id}"); - await Task.WhenAll(continentTask, profileTask); + await Task.WhenAll(continentTask, profileTask, citizenTask); Continents = continentTask.Result; @@ -72,6 +72,15 @@ namespace JobsJobsJobs.Client.Pages.Citizens { errors.Add(profileTask.Result.Error); } + + if (citizenTask.Result.IsOk) + { + ProfileForm.RealName = citizenTask.Result.Ok!.RealName ?? ""; + } + else + { + errors.Add(citizenTask.Result.Error); + } } /// @@ -99,10 +108,20 @@ namespace JobsJobsJobs.Client.Pages.Citizens foreach (var blankSkill in blankSkills) ProfileForm.Skills.Remove(blankSkill); var res = await http.PostAsJsonAsync("/api/profile/save", ProfileForm); - if (res.IsSuccessStatusCode) + if (res.IsSuccessStatusCode && state.User != null) { - toast.ShowSuccess("Profile Saved Successfully"); - nav.NavigateTo($"/profile/view/{state.User!.Id}"); + var citizen = await ServerApi.RetrieveOne(http, $"citizen/get/{state.User.Id}"); + + if (citizen.IsOk) + { + state.User = state.User with { Name = citizen.Ok!.CitizenName }; + toast.ShowSuccess("Profile Saved Successfully"); + nav.NavigateTo($"/profile/view/{state.User!.Id}"); + } + else + { + toast.ShowError(citizen.Error); + } } else {