@inject GameService GameService @inject IMessageService MessageService @inject ILogger Logger
@code { [Parameter] public Guid GameId { get; set; } [Parameter] public string GameTitle { get; set; } public ICollection CustomFields { get; set; } = new List(); protected override async Task OnInitializedAsync() { var game = await GameService .Include(g => g.CustomFields) .GetAsync(GameId); CustomFields = game.CustomFields; } async Task Add() { CustomFields.Add(new GameCustomField()); } async Task Remove(GameCustomField customField) { CustomFields.Remove(customField); } public async Task Save() { try { var game = await GameService .Include(g => g.CustomFields) .GetAsync(GameId); game.CustomFields = CustomFields; await GameService.UpdateAsync(game); MessageService.Success("Custom fields updated!"); } catch (Exception ex) { MessageService.Error("Could not save custom fields!"); Logger?.LogError(ex, "Could not save custom fields!"); } } }