public static void RecordPermissions(this SPList list, SPWeb caseWeb, DbAdapter dbConnection) { if (list.HasUniqueRoleAssignments) { if (dbConnection.IsConnected) { ((SPSecurableObject)list).RecordPermissions(dbConnection, list.ParentWeb.Site.ID, caseWeb.ID, list.ParentWeb.ID, list.ID, null); } } foreach (SPListItemInfo itemInfo in list.GetItemsWithUniquePermissions()) { SPListItem item = list.GetItemById(itemInfo.Id); if (dbConnection.IsConnected) { ((SPSecurableObject)item).RecordPermissions(dbConnection, item.ParentList.ParentWeb.Site.ID, caseWeb.ID, item.ParentList.ParentWeb.ID, item.ParentList.ID, item.UniqueId); } } }