private static Permissions GetAllPermission(bool Locked, int PortalID, List <GenericPermissionInfo> GenericPermissionInfo, List <Permission> PermissionDefinitions) { Permissions Permissions = new Permissions(true, Locked); Permissions.RolePermissions = Permissions.RolePermissions.OrderByDescending(p => p.Locked) .ThenByDescending(p => p.IsDefault) .ThenBy(p => p.RoleName) .ToList(); foreach (GenericPermissionInfo perm in GenericPermissionInfo) { foreach (Permission p in PermissionDefinitions) { if (p.PermissionId == perm.PermissionID) { perm.PermissionName = p.PermissionName; } } if (perm.UserID == -1 && perm.RoleID != -4) { if (perm.RoleID != -1) { perm.RoleName = RoleController.Instance.GetRoleById(PortalID, perm.RoleID).RoleName; } Vanjaro.Common.Manager.PermissionManager.AddRolePermission(Permissions, perm); } else if (perm.UserID != -1 && perm.RoleID == -4) { Vanjaro.Common.Manager.PermissionManager.AddUserPermission(Permissions, perm); } } int RoleID = RoleController.Instance.GetRoleById(PortalID, PortalSettings.Current.AdministratorRoleId).RoleID; string RoleName = RoleController.Instance.GetRoleById(PortalID, PortalSettings.Current.AdministratorRoleId).RoleName; foreach (Permission p in PermissionDefinitions) { GenericPermissionInfo Permission = new GenericPermissionInfo { PermissionName = p.PermissionName, PermissionID = p.PermissionId, AllowAccess = true, RoleID = RoleID, RoleName = RoleName }; Vanjaro.Common.Manager.PermissionManager.AddRolePermission(Permissions, Permission); } Permissions.PermissionDefinitions = PermissionDefinitions; return(Permissions); }
private static List <GenericPermissionInfo> GetGenericPermissions(FolderPermissionCollection FpCollection) { List <GenericPermissionInfo> GenericPermissions = new List <GenericPermissionInfo>(); foreach (PermissionInfoBase pinfo in FpCollection.ToList()) { GenericPermissionInfo gp = new GenericPermissionInfo { AllowAccess = pinfo.AllowAccess, PermissionID = pinfo.PermissionID, RoleID = pinfo.RoleID, UserID = pinfo.UserID, DisplayName = pinfo.DisplayName }; GenericPermissions.Add(gp); } return(GenericPermissions); }
public static void AddRolePermission(this Permissions.Permissions Permissions, GenericPermissionInfo permissionInfo) { RolePermission rolePermission = Permissions.RolePermissions.FirstOrDefault(p => p.RoleId == permissionInfo.RoleID); if (rolePermission == null) { rolePermission = new RolePermission { RoleId = permissionInfo.RoleID, RoleName = permissionInfo.RoleName }; Permissions.RolePermissions.Add(rolePermission); } if (rolePermission.Permissions.All(p => p.PermissionId != permissionInfo.PermissionID)) { rolePermission.Permissions.Add(new Permission { PermissionId = permissionInfo.PermissionID, PermissionName = permissionInfo.PermissionName, AllowAccess = permissionInfo.AllowAccess }); } }