From e5e8b5e215e39304651af3b8049a6b1de814727e Mon Sep 17 00:00:00 2001 From: Laura Hausmann Date: Tue, 14 Feb 2023 02:02:19 +0100 Subject: [PATCH] Make AddUser modal work properly --- AfRApay.Web/Pages/AddUser.cshtml | 19 ----------------- AfRApay.Web/Pages/AddUser.cshtml.cs | 29 ------------------------- AfRApay.Web/Pages/Index.cshtml | 33 +++++++++++++++++------------ AfRApay.Web/Pages/Index.cshtml.cs | 19 ++++++++++++++++- 4 files changed, 37 insertions(+), 63 deletions(-) delete mode 100644 AfRApay.Web/Pages/AddUser.cshtml delete mode 100644 AfRApay.Web/Pages/AddUser.cshtml.cs diff --git a/AfRApay.Web/Pages/AddUser.cshtml b/AfRApay.Web/Pages/AddUser.cshtml deleted file mode 100644 index a1d833d..0000000 --- a/AfRApay.Web/Pages/AddUser.cshtml +++ /dev/null @@ -1,19 +0,0 @@ -@page -@model AddUserModel -@{ - ViewData["Title"] = "Add User"; -} - -
-

- Add User -

-
- -
-
- - -
- -
diff --git a/AfRApay.Web/Pages/AddUser.cshtml.cs b/AfRApay.Web/Pages/AddUser.cshtml.cs deleted file mode 100644 index b65de2f..0000000 --- a/AfRApay.Web/Pages/AddUser.cshtml.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System.Net; -using AfRApay.Web.Backend.Database; -using AfRApay.Web.Backend.Database.Tables; -using Microsoft.AspNetCore.Mvc.RazorPages; - -namespace AfRApay.Web.Pages; - -public class AddUserModel : PageModel { - public void OnGet() { } - - public async void OnPost() { - await using var db = new DatabaseContext(); - if (Request.Form.ContainsKey("nickname") && !string.IsNullOrWhiteSpace(Request.Form["nickname"])) { - var nick = Request.Form["nickname"]; - if (db.Users.Any(p => p.Nickname == nick.ToString())) { - Response.Redirect("/ErrorRedirect?redir=/AddUser&message=" + WebUtility.UrlEncode("User with nick already exists.")); - return; - } - - var user = new User { Nickname = nick.ToString(), Balance = 0 }; - db.Add(user); - await db.SaveChangesAsync(); - Response.Redirect($"/#{user.Nickname}"); - return; - } - - Response.Redirect("/ErrorRedirect?redir=/AddUser&message=" + WebUtility.UrlEncode("Nickname must not be empty.")); - } -} diff --git a/AfRApay.Web/Pages/Index.cshtml b/AfRApay.Web/Pages/Index.cshtml index f3d9aa0..165022a 100644 --- a/AfRApay.Web/Pages/Index.cshtml +++ b/AfRApay.Web/Pages/Index.cshtml @@ -14,35 +14,40 @@ }

Users - - -

@@ -54,15 +59,15 @@ - diff --git a/AfRApay.Web/Pages/Index.cshtml.cs b/AfRApay.Web/Pages/Index.cshtml.cs index 8ab7456..cf1b071 100644 --- a/AfRApay.Web/Pages/Index.cshtml.cs +++ b/AfRApay.Web/Pages/Index.cshtml.cs @@ -1,5 +1,6 @@ using System.Net; using AfRApay.Web.Backend.Database; +using AfRApay.Web.Backend.Database.Tables; using Microsoft.AspNetCore.Mvc.RazorPages; namespace AfRApay.Web.Pages; @@ -27,9 +28,25 @@ public class IndexModel : PageModel { Response.Redirect($"/#{user.Nickname}"); } + else if (Request.Form["action"] == "add_user") { + if (Request.Form.ContainsKey("nickname") && !string.IsNullOrWhiteSpace(Request.Form["nickname"])) { + var nick = Request.Form["nickname"]; + if (db.Users.Any(p => p.Nickname == nick.ToString())) { + Response.Redirect("/ErrorRedirect?redir=/%23add_user&message=" + WebUtility.UrlEncode("User with nick already exists.")); + return; + } + + var user = new User { Nickname = nick.ToString(), Balance = 0 }; + db.Add(user); + await db.SaveChangesAsync(); + Response.Redirect($"/#{user.Nickname}"); + return; + } + + Response.Redirect("/ErrorRedirect?redir=/%23add_user&message=" + WebUtility.UrlEncode("Nickname must not be empty.")); + } else { Response.Redirect("/"); - return; } } }