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


@SharedLocalizer["Cancel"]

@code { private ElementReference form; private bool validated = false; private int _settingId; private string _entityName; private string _entityId; private string _settingName; private string _settingValue; private string _isPrivate; private string _createdby; private DateTime _createdon; private string _modifiedby; private DateTime _modifiedon; public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Host; protected override async Task OnInitializedAsync() { _settingId = int.Parse(PageState.QueryString["id"]); _entityName = PageState.QueryString["entity"]; try { var setting = await SettingService.GetSettingAsync(_entityName, _settingId); if (setting != null) { _entityId = setting.EntityId.ToString(); _settingName = setting.SettingName; _settingValue = setting.SettingValue; _isPrivate = setting.IsPrivate.ToString(); _createdby = setting.CreatedBy; _createdon = setting.CreatedOn; _modifiedby = setting.ModifiedBy; _modifiedon = setting.ModifiedOn; } } catch (Exception ex) { await logger.LogError(ex, "Error Loading Setting {SettingId} {Error}", _settingId, ex.Message); AddModuleMessage(Localizer["Error.LoadSetting"], MessageType.Error); } } private async Task SaveSetting() { validated = true; var interop = new Interop(JSRuntime); if (await interop.FormValid(form)) { var setting = await SettingService.GetSettingAsync(_entityName, _settingId); setting.SettingValue = _settingValue; setting.IsPrivate = (_isPrivate != null && Boolean.Parse(_isPrivate)); try { setting = await SettingService.UpdateSettingAsync(setting); await logger.LogInformation("Setting Saved {Setting}", setting); NavigationManager.NavigateTo(PageState.ReturnUrl); } catch (Exception ex) { await logger.LogError(ex, "Error Saving Setting {Setting} {Error}", setting, ex.Message); AddModuleMessage(Localizer["Error.SaveSetting"], MessageType.Error); } } else { AddModuleMessage(SharedLocalizer["Message.InfoRequired"], MessageType.Warning); } } }