@namespace Oqtane.Modules.Admin.Roles @inherits ModuleBase @inject NavigationManager NavigationManager @inject IRoleService RoleService @inject IStringLocalizer Localizer @inject IStringLocalizer SharedLocalizer


@SharedLocalizer["Cancel"]

@code { private ElementReference form; private bool validated = false; private int _roleid; private string _name = string.Empty; private string _description = string.Empty; private string _isautoassigned = "False"; private string _createdby; private DateTime _createdon; private string _modifiedby; private DateTime _modifiedon; public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Edit; protected override async Task OnInitializedAsync() { try { _roleid = Int32.Parse(PageState.QueryString["id"]); var role = await RoleService.GetRoleAsync(_roleid); if (role != null) { _name = role.Name; _description = role.Description; _isautoassigned = role.IsAutoAssigned.ToString(); _createdby = role.CreatedBy; _createdon = role.CreatedOn; _modifiedby = role.ModifiedBy; _modifiedon = role.ModifiedOn; } } catch (Exception ex) { await logger.LogError(ex, "Error Loading Role {RoleId} {Error}", _roleid, ex.Message); AddModuleMessage(Localizer["Error.LoadRole"], MessageType.Error); } } private async Task SaveRole() { validated = true; var interop = new Interop(JSRuntime); if (await interop.FormValid(form)) { var role = await RoleService.GetRoleAsync(_roleid); role.Name = _name; role.Description = _description; role.IsAutoAssigned = (_isautoassigned != null && Boolean.Parse(_isautoassigned)); role.IsSystem = false; try { role = await RoleService.UpdateRoleAsync(role); await logger.LogInformation("Role Saved {Role}", role); NavigationManager.NavigateTo(NavigateUrl()); } catch (Exception ex) { await logger.LogError(ex, "Error Saving Role {Role} {Error}", role, ex.Message); AddModuleMessage(Localizer["Error.SaveRole"], MessageType.Error); } } else { AddModuleMessage(SharedLocalizer["Message.InfoRequired"], MessageType.Warning); } } }