Add balance override to EditUser
This commit is contained in:
parent
babb809019
commit
67a2c51a1b
|
@ -2,6 +2,7 @@
|
|||
@using AfRApay.Web.Backend.Database
|
||||
@using Microsoft.AspNetCore.Mvc.TagHelpers
|
||||
@using Microsoft.EntityFrameworkCore
|
||||
@using System.Globalization
|
||||
@model EditUserModel
|
||||
@{
|
||||
ViewData["Title"] = "Edit User";
|
||||
|
@ -11,6 +12,11 @@
|
|||
var db = new DatabaseContext();
|
||||
var user = db.Users.First(p => p.Id == int.Parse(RouteData.Values["id"]!.ToString()!));
|
||||
var cards = db.Cards.Include(p => p.User).Where(p => p.User == user);
|
||||
var formattedBalance = (user.Balance / 100m).ToString(CultureInfo.InvariantCulture);
|
||||
|
||||
if (user.Balance % 10 == 0) {
|
||||
formattedBalance += formattedBalance.Contains(".") ? "0" : ".00";
|
||||
}
|
||||
|
||||
var linkFlag = db.Config.FirstOrDefault(p => p.Name == "link");
|
||||
var lTimeFlag = db.Config.FirstOrDefault(p => p.Name == "lTime");
|
||||
|
@ -34,6 +40,10 @@
|
|||
<label for="nickname" class="form-label">Nickname</label>
|
||||
<input type="text" maxlength="10" class="form-control" id="nickname" name="nickname" value="@user.Nickname" required>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="balance" class="form-label">Balance (€)</label>
|
||||
<input type="number" max="999.50" min="-99.50" step=".50" class="form-control" id="balance" name="balance" value="@formattedBalance" required>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-lg btn-primary" name="action" value="save">Save</button>
|
||||
<button type="button" class="btn btn-lg btn-danger" name="action" data-bs-toggle="modal" data-bs-target="#deleteConfirmModal">Delete</button> <!-- Calls the below modal dialog to confirm user deletetion -->
|
||||
</form>
|
||||
|
|
|
@ -60,14 +60,20 @@ public class EditUserModel : PageModel {
|
|||
return;
|
||||
}
|
||||
|
||||
if (Request.Form["action"] == "save" && Request.Form.ContainsKey("nickname") && !string.IsNullOrWhiteSpace(Request.Form["nickname"])) {
|
||||
var nick = Request.Form["nickname"].ToString();
|
||||
if (Request.Form["action"] == "save"
|
||||
&& Request.Form.ContainsKey("nickname")
|
||||
&& Request.Form.ContainsKey("balance")
|
||||
&& !string.IsNullOrWhiteSpace(Request.Form["nickname"])
|
||||
&& !string.IsNullOrWhiteSpace(Request.Form["balance"])) {
|
||||
var nick = Request.Form["nickname"].ToString();
|
||||
var balance = decimal.Parse(Request.Form["balance"]!);
|
||||
if (db.Users.Any(p => p.Nickname == nick && p.Id != userId)) {
|
||||
Response.Redirect($"/ErrorRedirect?redir=EditUser/{userId}&message=" + WebUtility.UrlEncode("User with nick already exists."));
|
||||
return;
|
||||
}
|
||||
|
||||
user.Nickname = nick;
|
||||
user.Balance = (long)(balance * 100);
|
||||
await db.SaveChangesAsync();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue