Refactor. Add data layer

This commit is contained in:
rossmill76 committed 2026-03-06 11:05:01 +00:00
1 parent 3b7e4e6ec5
commit b6b794f0b4
82 files changed
+2930 -2811

No files matched your search

+4 -43
View File
@@ -1,5 +1,6 @@
@page "/register"
@layout AuthLayout
@using BudgetApp.Data.Entities
@using Microsoft.AspNetCore.Identity
@inject UserManager<ApplicationUser> UserManager
@inject SignInManager<ApplicationUser> SignInManager
@@ -12,9 +13,9 @@
<EditForm Model="Model" OnValidSubmit="HandleRegister" FormName="register">
<DataAnnotationsValidator />
@if (!string.IsNullOrEmpty(errorMessage))
@if (!string.IsNullOrEmpty(_errorMessage))
{
<div class="alert alert-danger">@errorMessage</div>
<div class="alert alert-danger">@_errorMessage</div>
}
<div class="mb-3">
@@ -40,44 +41,4 @@
<p class="text-center mt-3">
Already have an account? <a href="/login">Sign in</a>
</p>
@code {
[SupplyParameterFromForm]
private RegisterModel Model { get; set; } = new();
private string? errorMessage;
private async Task HandleRegister()
{
errorMessage = null;
var user = new ApplicationUser { UserName = Model.Email, Email = Model.Email };
var result = await UserManager.CreateAsync(user, Model.Password);
if (result.Succeeded)
{
await SignInManager.SignInAsync(user, isPersistent: false);
Navigation.NavigateTo("/", forceLoad: true);
}
else
{
errorMessage = string.Join(" ", result.Errors.Select(e => e.Description));
}
}
private sealed class RegisterModel
{
[System.ComponentModel.DataAnnotations.Required(ErrorMessage = "Email is required")]
[System.ComponentModel.DataAnnotations.EmailAddress(ErrorMessage = "Invalid email address")]
public string Email { get; set; } = string.Empty;
[System.ComponentModel.DataAnnotations.Required(ErrorMessage = "Password is required")]
[System.ComponentModel.DataAnnotations.MinLength(8, ErrorMessage = "Password must be at least 8 characters")]
public string Password { get; set; } = string.Empty;
[System.ComponentModel.DataAnnotations.Required(ErrorMessage = "Please confirm your password")]
[System.ComponentModel.DataAnnotations.Compare(nameof(Password), ErrorMessage = "Passwords do not match")]
public string ConfirmPassword { get; set; } = string.Empty;
}
}
</p>