private void SaveEditPermission(int portalId, MenuItem menuItem) { var viewPermission = MenuPermissionController.GetPermissions(menuItem.MenuId).FirstOrDefault(p => p.PermissionKey == "VIEW"); var editPermission = MenuPermissionController.GetPermissions(menuItem.MenuId).FirstOrDefault(p => p.PermissionKey == "EDIT"); if (viewPermission == null || editPermission == null) { return; } var permissions = MenuPermissionController.GetMenuPermissions(portalId, menuItem.Identifier).ToList(); permissions.ForEach(p => { if (p.PermissionID == viewPermission.PermissionId) { if (!permissions.Any(c => c.PermissionID == editPermission.PermissionId && c.RoleID == p.RoleID && c.UserID == p.UserID)) { var menuPermissionInfo = new MenuPermissionInfo { MenuPermissionId = Null.NullInteger, MenuId = menuItem.MenuId, PermissionID = editPermission.PermissionId, RoleID = p.RoleID, UserID = p.UserID, AllowAccess = p.AllowAccess, }; MenuPermissionController.SaveMenuPermissions(portalId, menuItem, menuPermissionInfo); } } }); }
public virtual bool CanViewPageList(int menuId) { var permissions = MenuPermissionController.GetMenuPermissions(PortalSettings.Current.PortalId, menuId); return(MenuPermissionController.HasMenuPermission(new MenuPermissionCollection(permissions), "VIEW_PAGE_LIST") || this.IsPageAdmin()); }