@page "/settings/quizzes/edit" @page "/settings/quizzes/edit/{id}" @using FWLAZ_Web.Data @using Microsoft.EntityFrameworkCore @inject IDbContextFactory DbFactory; @inject NavigationManager nav;

QuizEdit

Question Groups

@foreach (QuestionGroup qg in SelectedItem.Questiongroups) {
}
@code { [Parameter] public string? id { get; set; } private LocalDbContext? DbContext; public Quiz SelectedItem = null!; private string? NewQuestionGroup; private string PrevURL = "/settings/quizzes"; protected override async Task OnInitializedAsync() { if (id != null) { DbContext ??= await DbFactory.CreateDbContextAsync(); if (DbContext != null) SelectedItem = DbContext.Quiz.Include(qu => qu.Questiongroups).Single(qu => qu.Id == Convert.ToInt32(id)); } SelectedItem ??= new(); //await InvokeAsync(StateHasChanged); } private async Task OnSubmit(EventArgs e) { DbContext ??= await DbFactory.CreateDbContextAsync(); if (SelectedItem == null || DbContext == null) { // nav.NavigateTo(PrevURL); return; } if (id != null) { DbContext.Quiz.Update(SelectedItem); } else { DbContext.Quiz.Add(SelectedItem); } await DbContext.SaveChangesAsync(); nav.NavigateTo(PrevURL); } private void AddQuestionGroup(MouseEventArgs e) { if (NewQuestionGroup != null && NewQuestionGroup.Trim().Length > 0) { SelectedItem.Questiongroups.Add(new QuestionGroup(NewQuestionGroup)); NewQuestionGroup = null; } } }