From 1c3ecd731e68c6905d28a76f9c3a75f349a4dd90 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Fri, 12 Sep 2025 16:51:10 +0100 Subject: [PATCH] Add edit view for FireWire devices with form validation --- .../Admin/Pages/FireWire/Edit.razor | 44 +++++++++++++++++++ .../Admin/Pages/FireWire/Edit.razor.cs | 37 ++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 Aaru.Server/Components/Admin/Pages/FireWire/Edit.razor create mode 100644 Aaru.Server/Components/Admin/Pages/FireWire/Edit.razor.cs diff --git a/Aaru.Server/Components/Admin/Pages/FireWire/Edit.razor b/Aaru.Server/Components/Admin/Pages/FireWire/Edit.razor new file mode 100644 index 00000000..8b3879ea --- /dev/null +++ b/Aaru.Server/Components/Admin/Pages/FireWire/Edit.razor @@ -0,0 +1,44 @@ +@page "/admin/firewire/edit/{Id:int}" +@attribute [Authorize] +@layout AdminLayout +@inject Microsoft.EntityFrameworkCore.IDbContextFactory DbContextFactory + +Edit FireWire Device + +@if(!_isLoaded) +{ +
Loading...
+} +else +{ + + + +
+ + + +
+
+ + + +
+
+ + + +
+
+ + + +
+
+ + +
+ + +
+} diff --git a/Aaru.Server/Components/Admin/Pages/FireWire/Edit.razor.cs b/Aaru.Server/Components/Admin/Pages/FireWire/Edit.razor.cs new file mode 100644 index 00000000..94201678 --- /dev/null +++ b/Aaru.Server/Components/Admin/Pages/FireWire/Edit.razor.cs @@ -0,0 +1,37 @@ +using Microsoft.AspNetCore.Components; +using DbContext = Aaru.Server.Database.DbContext; + +namespace Aaru.Server.Components.Admin.Pages.FireWire; + +public partial class Edit : ComponentBase +{ + DbContext _db; + + CommonTypes.Metadata.FireWire _fireWire = new(); + bool _isLoaded; + [Parameter] + public int Id { get; set; } + + [Inject] + public NavigationManager Navigation { get; set; } + + protected override async Task OnInitializedAsync() + { + _db = await DbContextFactory.CreateDbContextAsync(); + CommonTypes.Metadata.FireWire? entity = await _db.FireWire.FindAsync(Id); + if(entity != null) _fireWire = entity; + _isLoaded = true; + } + + async Task HandleValidSubmit() + { + _db.Update(_fireWire); + await _db.SaveChangesAsync(); + Navigation.NavigateTo("/admin/firewire"); + } + + void GoBack() + { + Navigation.NavigateTo("/admin/firewire"); + } +} \ No newline at end of file