@page "/workspaces/create" @using ZahlenAnalyse.Web.Models @using ZahlenAnalyse.Web.Services @using Microsoft.AspNetCore.Components.Authorization @inject WorkspaceService DbService @inject AuthenticationStateProvider AuthStateProvider @inject NavigationManager NavManager @inject ISnackbar Snackbar Neuen Workspace erstellen Analysedimensionen @foreach (var dim in _workspace.Dimensions.ToList()) { Hierarchie-Knoten: @foreach (var rootNode in dim.Nodes.ToList()) { } Haupt-Knoten hinzufügen } Neue Dimension hinzufügen Abbrechen Workspace speichern @code { private Workspace _workspace = new(); private async Task SaveWorkspace() { if (string.IsNullOrWhiteSpace(_workspace.Name)) { Snackbar.Add("Bitte gib dem Workspace einen Namen.", Severity.Warning); return; } try { // Wir übergeben nur noch das blanke Formular-Objekt. // Der Service kümmert sich um den Auth-Rest! await DbService.SaveWorkspaceAsync(_workspace); Snackbar.Add($"Workspace '{_workspace.Name}' erfolgreich gespeichert!", Severity.Success); NavManager.NavigateTo("/"); } catch (Exception ex) { Snackbar.Add($"Fehler beim Speichern: {ex.Message}", Severity.Error); } } }