AfRApay/AfRApay.Web/Pages/AddUser.cshtml.cs
2023-02-06 02:37:36 +01:00

29 lines
793 B
C#

using System.Data;
using AfRApay.Web.Backend;
using AfRApay.Web.Backend.Tables;
using LinqToDB;
using Microsoft.AspNetCore.Mvc.RazorPages;
namespace AfRApay.Web.Pages;
public class AddUserModel : PageModel {
public void OnGet() { }
public void OnPost() {
using var db = new Database.DbConn();
if (Request.Form.ContainsKey("nickname") && !string.IsNullOrWhiteSpace(Request.Form["nickname"])) {
var nick = Request.Form["nickname"];
if (db.Users.Any(p => p.Nickname == nick)) {
throw new DuplicateNameException("User with nick already exists.");
}
var user = new User { Nickname = nick!, Balance = 0};
db.InsertWithIdentity(user);
Response.Redirect($"/#{user.Nickname}");
return;
}
throw new ConstraintException("Nickname must not be empty.");
}
}