When I remove the roleassignments for the group on the list, this also removes the roleassignments for the subfolders. (BreakInheritance == True for the subfolders. )
My code:
//BreakRoleInheritance on list
list.BreakRoleInheritance(true);
//Initiate a roledefinition for read only
SPRoleDefinition readerRoleDef = web.RoleDefinitions.GetByType(SPRoleType.Reader);
//Creates a roleassignment bound to the group
SPRoleAssignment readerRole = new SPRoleAssignment(group);
//Add the definition to the roleassignment
readerRole.RoleDefinitionBindings.Add(readerRoleDef);
//Gets the roledefinitions for the given group
var roleAssignements = list.RoleAssignments.Cast<SPRoleAssignment>().Where(r => r.Member.ID == group.ID);
//I would like to to something like this, but this code here affects roleassignments on subfolders as well:
roleAssignements.ToList().ForEach(r => list.RoleAssignments.RemoveById(r.Member.ID));
//Add the new, read role assignment
list.RoleAssignments.Add(readerRole);
//Save changes to the list
list.Update();
Can someone point me in the right direction?