@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 string _name = string.Empty; private string _description = string.Empty; private string _isautoassigned = "False"; public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Edit; private async Task SaveRole() { validated = true; var interop = new Interop(JSRuntime); if (await interop.FormValid(form)) { var role = new Role(); role.SiteId = PageState.Page.SiteId; role.Name = _name; role.Description = _description; role.IsAutoAssigned = (_isautoassigned == null ? false : Boolean.Parse(_isautoassigned)); role.IsSystem = false; try { role = await RoleService.AddRoleAsync(role); await logger.LogInformation("Role Added {Role}", role); NavigationManager.NavigateTo(NavigateUrl()); } catch (Exception ex) { await logger.LogError(ex, "Error Adding Role {Role} {Error}", role, ex.Message); AddModuleMessage(Localizer["Error.AddRole"], MessageType.Error); } } else { AddModuleMessage(SharedLocalizer["Message.InfoRequired"], MessageType.Warning); } } }