asked on
if (!spfile.Item.HasUniqueRoleAssignments)
spfile.Item.BreakRoleInheritance(true);
web.AllowUnsafeUpdates = true;
#region REMOVE ALL USER'S PERMISSIONS
SPRoleAssignmentCollection spRoles = spfile.Item.RoleAssignments;
for (int j = spRoles.Count - 1; j > -1; j--)
spRoles.Remove(j);
#endregion
SPRoleDefinition RoleDefinition = web.RoleDefinitions.GetByType(SPRoleType.Contributor);
SPRoleAssignment RoleAssignment = new SPRoleAssignment(UserID, "email", "name", "notes");
RoleAssignment.RoleDefinitionBindings.Add(RoleDefinition);
web.AllowUnsafeUpdates = true;
spfile.Item.RoleAssignments.Add(RoleAssignment);