public async Task <FormComponentModel> BuildCreateFormModelAsync(Guid siteId) { var result = new FormComponentModel(); foreach (var roleModel in await _roleManager.GetRoleModelsAsync()) { var permissionModel = new FormComponentModel.PermissionModel { RoleId = roleModel.Id, RoleName = roleModel.Name }; foreach (PermissionType permissionType in Enum.GetValues(typeof(PermissionType))) { var disabled = roleModel.Name == Consts.RoleNameAdmin || roleModel.Id == Consts.RoleIdAll && !IsReadingPermissionType(permissionType); permissionModel.PermissionTypes.Add(new FormComponentModel.PermissionTypeModel { Type = permissionType, Selected = roleModel.Name == Consts.RoleNameAdmin, Disabled = disabled }); } result.PermissionSet.Permissions.Add(permissionModel); } return(result); }