@namespace Oqtane.Modules.Admin.Users @inherits ModuleBase @inject IUserRoleService UserRoleService @inject IUserService UserService @inject ISettingService SettingService @inject IStringLocalizer Localizer @if (userroles == null) {

@Localizer["Loading..."]

} else {
      @Localizer["Name"]
@context.User.DisplayName
} @code { private List allroles; private List userroles; private string _search; public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Admin; protected override async Task OnInitializedAsync() { allroles = await UserRoleService.GetUserRolesAsync(PageState.Site.SiteId); await LoadSettingsAsync(); userroles = Search(_search); } private List Search(string search) { if (string.IsNullOrEmpty(_search)) { return allroles.Where(item => item.Role.Name == RoleNames.Registered).ToList(); } return allroles .Where(item => item.Role.Name == RoleNames.Registered && ( item.User.Username.Contains(search, StringComparison.OrdinalIgnoreCase) || item.User.Email.Contains(search, StringComparison.OrdinalIgnoreCase) || item.User.DisplayName.Contains(search, StringComparison.OrdinalIgnoreCase) ) ) .ToList(); } private async Task OnSearch() { userroles = Search(_search); await UpdateSettingsAsync(); } private async Task DeleteUser(UserRole UserRole) { try { var user = await UserService.GetUserAsync(UserRole.UserId, PageState.Site.SiteId); if (user != null) { await UserService.DeleteUserAsync(user.UserId); await logger.LogInformation("User Deleted {User}", UserRole.User); StateHasChanged(); } } catch (Exception ex) { await logger.LogError(ex, "Error Deleting User {User} {Error}", UserRole.User, ex.Message); AddModuleMessage(ex.Message, MessageType.Error); } } private string settingSearch = "AU-search"; private async Task LoadSettingsAsync() { Dictionary settings = await SettingService.GetUserSettingsAsync(PageState.User.UserId); _search = SettingService.GetSetting(settings, settingSearch, ""); } private async Task UpdateSettingsAsync() { Dictionary settings = await SettingService.GetUserSettingsAsync(PageState.User.UserId); SettingService.SetSetting(settings, settingSearch, _search); await SettingService.UpdateUserSettingsAsync(settings, PageState.User.UserId); } }