@page "/Settings/Users/{username}" @using Microsoft.AspNetCore.Components.Authorization; @inject UserService UserService @inject IMessageService MessageService @inject AuthenticationStateProvider AuthenticationStateProvider @inject ILogger Logger @attribute [Authorize]
Custom Fields @if (context.CustomFields == null || context.CustomFields?.Count == 0) { No custom fields exist for this user } else { foreach (var customField in context.CustomFields) { }
@code { [Parameter] public string Username { get; set; } User User = new User(); Form Form; bool FieldsModified = false; protected override async Task OnInitializedAsync() { var authState = await AuthenticationStateProvider.GetAuthenticationStateAsync(); if (authState.User.Identity.IsAuthenticated) { User = await UserService .Include(u => u.CustomFields) .FirstOrDefaultAsync(u => u.UserName == Username); if (User.CustomFields == null) User.CustomFields = new List(); } } void AddField() { User.CustomFields.Add(new UserCustomField()); FieldsModified = true; } async Task RemoveField(UserCustomField customField) { User.CustomFields.Remove(customField); FieldsModified = true; } async Task Save() { try { if (Form.IsModified || FieldsModified) { await UserService.UpdateAsync(User); MessageService.Success("User updated!"); } } catch (Exception ex) { MessageService.Error("An unknown error occurred."); Logger.LogError(ex, "An unknown error occurred."); } } }