@namespace Oqtane.Modules.Admin.Settings @inherits ModuleBase @inject ISettingService SettingService @inject IStringLocalizer Localizer @inject IStringLocalizer SharedLocalizer

    @Localizer["Name"] @Localizer["Value"]
@context.SettingName @context.SettingValue
@code { private string _entityName = "-"; private List _entityNames = new List(); private string _entityId = "-"; private List _entityIds = new List(); private List _settings = new List(); public override string UrlParametersTemplate => "/{entityname}/{entityid}"; public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Host; protected override async Task OnParametersSetAsync() { _entityNames = await SettingService.GetEntityNamesAsync(); if (UrlParameters.ContainsKey("entityname")) { _entityName = UrlParameters["entityname"]; await GetEntityIds(); } if (UrlParameters.ContainsKey("entityid")) { _entityId = UrlParameters["entityid"]; await GetSettings(); } } private async Task GetEntityIds() { if (_entityName != "-") { _entityIds = await SettingService.GetEntityIdsAsync(_entityName); } else { _entityIds = new List(); } } private async Task GetSettings() { if (_entityName != "-" && _entityId != "-") { _settings = await SettingService.GetSettingsAsync(_entityName, int.Parse(_entityId), ""); _settings = _settings.OrderBy(item => item.SettingName).ToList(); } else { _settings = new List(); } } private async void EntityNameChanged(ChangeEventArgs e) { try { _entityName = e.Value.ToString(); _entityId = "-"; await GetEntityIds(); await GetSettings(); StateHasChanged(); } catch (Exception ex) { await logger.LogError(ex, "Error On EntityNameChanged"); } } private async void EntityIdChanged(ChangeEventArgs e) { try { _entityId = e.Value.ToString(); await GetSettings(); StateHasChanged(); } catch (Exception ex) { await logger.LogError(ex, "Error On EntityIdChanged"); } } private async Task DeleteSetting(Setting setting) { try { await SettingService.DeleteSettingAsync(setting.EntityName, setting.EntityId, setting.SettingName); await logger.LogInformation("Setting Deleted {Setting}", setting); await GetSettings(); StateHasChanged(); } catch (Exception ex) { await logger.LogError(ex, "Error Deleting Setting {Setting} {Error}", setting, ex.Message); AddModuleMessage(Localizer["Error.DeleteSetting"], MessageType.Error); } } }