diff --git a/MainProject/Services/PermissionService.cs b/MainProject/Services/PermissionService.cs index 7a305a7..af81acd 100644 --- a/MainProject/Services/PermissionService.cs +++ b/MainProject/Services/PermissionService.cs @@ -1103,16 +1103,10 @@ public class PermissionService : BaseService, IPermissionService var roles = allRoles.Where(x => operationInfo.Roles.Contains(x.Name)).ToList(); if (roles.Count > 0) { - foreach (var roleName in operationInfo.Roles) - { - (tmpRolePermissionSystemModuleOperationList, tmpPermissions) = this.HandleRolePermissionSystemModuleOperationOnStartup - ( - roles, roleName, permissionSystemModuleOperation - ); - newPermissions.AddRange(tmpPermissions); - rolePermissionSystemModuleOperationList.AddRange(tmpRolePermissionSystemModuleOperationList); - } - + (tmpRolePermissionSystemModuleOperationList, tmpPermissions) = this.HandleRolePermissionSystemModuleOperationOnStartup + ( + roles, permissionSystemModuleOperation, operationInfo + ); } } } @@ -1121,6 +1115,32 @@ public class PermissionService : BaseService, IPermissionService return (rolePermissionSystemModuleOperationList, newPermissions); } + private (List, List) HandleRolePermissionSystemModuleOperationOnStartup + ( + List roles, PermissionSystemModuleOperation permissionSystemModuleOperation, OperationInfo operationInfo + ) + { + List newPermissions = []; + List tmpPermissions; + List rolePermissionSystemModuleOperationList = []; + List tmpRolePermissionSystemModuleOperationList; + + if (operationInfo?.Roles != null) + { + foreach (var roleName in operationInfo.Roles) + { + (tmpRolePermissionSystemModuleOperationList, tmpPermissions) = this.HandleRolePermissionSystemModuleOperationOnStartup + ( + roles, roleName, permissionSystemModuleOperation + ); + newPermissions.AddRange(tmpPermissions); + rolePermissionSystemModuleOperationList.AddRange(tmpRolePermissionSystemModuleOperationList); + } + } + + return (rolePermissionSystemModuleOperationList, newPermissions); + } + private (List, List) HandleRolePermissionSystemModuleOperationOnStartup ( List roles, string roleName, PermissionSystemModuleOperation permissionSystemModuleOperation