public SPRoleDefinitionInstance GetById(int id) { var result = m_roleDefinitionCollection.GetById(id); return(result == null ? null : new SPRoleDefinitionInstance(Engine.Object.InstancePrototype, result)); }
public static void AddPermissions(this SPListItem item, List <SPPrincipal> principals, int roleId) { SPRoleDefinitionCollection webroledefinitions = item.Web.RoleDefinitions; foreach (SPPrincipal principal in principals) { if (!item.IsPrincipalInItemRole(principal, roleId) && !Regex.IsMatch(principal.Name, @"svc_|system|app@sharepoint")) { if (!item.HasUniqueRoleAssignments) { item.BreakRoleInheritance(true); } SPRoleAssignment assignment = new SPRoleAssignment(principal); assignment.RoleDefinitionBindings.Add(webroledefinitions.GetById(roleId)); item.RoleAssignments.Add(assignment); } } }