示例#1
0
        private folder AddFolder(SPFolder spFolder, SPRoleAssignmentCollection roleAssignments, bool isList)
        {
            folder folder = new folder();

            folder.folderName        = isList ? spFolder.ParentWeb.Lists[spFolder.ParentListId].Title : spFolder.Name;
            folder.folderName        = folder.folderName.Replace("\v", " ");
            folder.serverRelativeUrl = spFolder.ServerRelativeUrl;

            folder.isSharePointList = isList;

            foreach (SPRoleAssignment roleAssignment in roleAssignments)
            {
                SPPrincipal principal      = roleAssignment.Member;
                string      principalLogin = (principal is SPUser) ? principal.ParentWeb.AllUsers.GetByID(principal.ID).LoginName : principal.ID.ToString();
                bool        isGroup        = !(principal is SPUser);

                folder.AddPrincipal(principalLogin,
                                    principal.Name,
                                    isGroup,
                                    roleAssignment.RoleDefinitionBindings);
            }

            return(folder);
        }