Document Library & Page -- some of operations- Security, Groups, Users, Adding Webpart, Deleting webpart
//Get only Document libraries from web not lists
public static void docLibColl(SPWeb web) 
        {
            SPListCollection listColl = web.GetListsOfType(SPBaseType.DocumentLibrary);
        }
        public void addUserToTheGroup(SPWeb web, SPUser user)
        {
            SPGroup grp = web.Groups.GetByName("");
            grp.AddUser(user);
        }
//Break inheritance and remove all user roles except one Group users
        public static void breakInheritanceNRemoveUsersExcept1Group(SPWeb web, string
selectedLibraryName)
        {
            string libGrpName = selectedLibraryName + "_ViewOnly";
            SPList list = web.Lists.TryGetList("testLib1");
            list.BreakRoleInheritance(true);
            SPRoleAssignmentCollection rolColl = list.RoleAssignments;
            for (int i = rolColl.Count - 1; i >= 0; i--)
            {
                 SPRoleAssignment role = rolColl[i];
                 if (role.Member is SPGroup)
                 {
                     if (role.Member.Name !=
libGrpName)
                     {
                         rolColl.Remove(i);
                     }                   
                 }
                 else
                     rolColl.Remove(i);
               //
rolColl.Remove(i);
            }
            list.Update();
        }
//Remove user permission from the Library
        public static void removeUserPermission4mLib(SPWeb web)
        {
            // bool
userDeleted = false;
            SPUser user = web.Users.GetByID(10);
            SPList list = web.Lists.TryGetList("TestRku");
            SPRoleAssignmentCollection SPRoleAssColn = list.RoleAssignments;
            for (int i = SPRoleAssColn.Count - 1; i >= 0; i--)
            {
                SPRoleAssignment role = SPRoleAssColn[i];
                if (role.Member is SPUser)
                    if (role.Member.ID == user.ID)
                    {
                        SPRoleAssColn.Remove(i);
                        list.Update();
                        break;
                    }
                //if
(userDeleted)
                //{
                //    break;
                //}
            }
        }
// Create a Group and assign Readonly permission and add to the web
        public static void CreateGrpNewGroup4List(SPWeb web, string selectedLibraryName)
        {
            SPGroup grp = null;
            string newGrpName = selectedLibraryName + "_ViewOnly";
            try
            {
                grp =
web.Groups.GetByName(newGrpName);
            }
            catch { }
            if (grp == null)
            {
                web.SiteGroups.Add(newGrpName,
web.CurrentUser, web.Author, "Used for
DATAROOMs");
                SPRoleAssignment assignment = new SPRoleAssignment(web.SiteGroups[newGrpName]);
                SPRoleDefinition roleApp = web.RoleDefinitions["View only"];
               
assignment.RoleDefinitionBindings.Add(roleApp);
                web.RoleAssignments.Add(assignment);
                web.Update();
            }
        }
        public static void makeWordreadOnly(SPFile path)
        {
            //  FileAttributes attributes =
File.GetAttributes(path);
            //
File.SetAttributes(path, File.GetAttributes(path) |
FileAttributes.ReadOnly);        
        } 
// Remove User Permission from web
        public static void removeUserPermission4mWeb(SPWeb web)
        {
            SPUser user = web.Users.GetByID(10);
            SPRoleAssignment roleAssignment = new SPRoleAssignment(user.LoginName, user.Email, user.Name, user.Notes);
            SPRoleDefinition roleDefinition = web.RoleDefinitions.GetByType(SPRoleType.Contributor);
           
roleAssignment.RoleDefinitionBindings.Remove(roleDefinition);
            web.Update();
        }
        public static void addUserTotheList(SPWeb web, SPUser user)
        {
            SPList list = web.Lists.TryGetList("TestRku");
            SPRoleDefinition roleDefinition = web.RoleDefinitions.GetByType(SPRoleType.Administrator);
            string userEmail = "";
            if (user.Email == null)
            {
                userEmail = "Test@testab.com";
            }
            else { userEmail = user.Email; }
            SPRoleAssignment roleAssignment = new SPRoleAssignment(user.LoginName, userEmail, user.Name, user.Name);
           
roleAssignment.RoleDefinitionBindings.Add(roleDefinition);
           
list.RoleAssignments.Add(roleAssignment);
            list.Update();
        }
// Document Library USers list
        public static void docLibUsers(SPWeb web)
        {
            SPList list = web.Lists.TryGetList("TestRku");
            SPRoleAssignmentCollection assignColl = list.RoleAssignments;
            foreach (SPRoleAssignment assignment in assignColl)
            {
                //perms.Add(assignment.Member.LoginName);
                //Console.WriteLine("Perms:
" + assignment.Member.LoginName);
                if (assignment.Member is SPUser)
                {
                    SPUser user = ((SPUser)assignment.Member);
                    //
Console.WriteLine(((SPUser)assignment.Member).LoginName);
                    users.Add(user.LoginName);
                }
                else if (assignment.Member is SPGroup)
                {
                    // Console.WriteLine(((SPGroup)assignment.Member).Name);
                    getUsersFromGroup(web, ((SPGroup)assignment.Member).Name);
                }
            }
            Console.WriteLine(users);
        }
// Add User to the Group
        public static void addUsersTotheGroup(SPWeb web, string groupName)
        {
            SPGroup group = web.Groups[groupName];
            foreach (SPUser user in group.Users)
            {
                users.Add(user.LoginName);
            }
        }
// Inherit default permissions to the list
        public static void inheritUserPermissions(SPWeb web)
        {
            SPList list = web.Lists.TryGetList("CustLib");
            list.ResetRoleInheritance();
            list.Update();
        }   
 // Remove/delete from page webpart
        public static void RemoveWebPart(SPWeb web, string page, string webPartTitle)
        {
            SPLimitedWebPartManager webPartManager = web.GetLimitedWebPartManager("http://ravim:555/lib1/Forms/AllItems.aspx", PersonalizationScope.Shared);
            IEnumerable webPartList = from System.Web.UI.WebControls.WebParts.WebPart webPart in webPartManager.WebParts
                                      where webPart.Title ==
webPartTitle
                                      select webPart;
            foreach (System.Web.UI.WebControls.WebParts.WebPart webPart in webPartList)
            {
                if (webPartTitle == "testRavi")
                {
                   
webPartManager.DeleteWebPart(webPart);
                    break;
                }
            }
            web.Update();
        }
// Remove Script Editor Webpart from pahe
        public static void RemoveScriptEdWebPart(SPWeb web)
        {
            string pageUrl = getLibraries2Add(web);
            //SPFile
page = web.GetFile(pageUrl); //GetFile("SitePages/prg.aspx");
            SPWebPartCollection webparts = web.GetWebPartCollection(pageUrl, Storage.Shared);
            for (int k = 0; k < webparts.Count; k++)
            {
                //get
reference to webpart
               
Microsoft.SharePoint.WebPartPages.WebPart wp = webparts[k];
                //check
webpart Title to find webpart which is to be removed
                if (wp.Title == "Ravi Test")
                {
                    //delete webpart
                    //  
webparts.Delete(wp.StorageKey);
                    //update
spWeb object
                    //   web.Update();
                }
            }
        }
// Add Script Editor webpart to the Page
        public static void addScriptEdWebPart(SPWeb web)
        {
            string pageUrl = getLibraries2Add(web);
            SPFile page = web.GetFile(pageUrl); //GetFile("SitePages/prg.aspx");
            page.CheckOut();
            using (SPLimitedWebPartManager wpmgr = page.GetLimitedWebPartManager(PersonalizationScope.Shared))
            {
                var wpExist = false;
                var webpartCollection = wpmgr.WebParts.GetEnumerator();
                while (webpartCollection.MoveNext())
                {
                    var cWpart =
webpartCollection.Current;
                    if (cWpart.ToString() == "Microsoft.SharePoint.WebPartPages.ScriptEditorWebPart")
                    {
                        if
(((Microsoft.SharePoint.WebPartPages.ScriptEditorWebPart)(webpartCollection.Current)).Content.ToString().Contains("'/_Layouts/Ravi.test.aspx?"))
                        {
                            wpExist = true;
                            break;
                        }
                    }
                }
                if (wpExist == false)
                {
                    ScriptEditorWebPart scwp = new ScriptEditorWebPart();
                    scwp.Title = "BE ECBDatarooms";
                    scwp.ChromeType = PartChromeType.None;
                    StreamReader reader
= new StreamReader(@"C:\zzScript\ScriptEditor.txt");
                    string scwpContent = "";
                    while (reader.Peek() != -1)
                    {
                        scwpContent +=
reader.ReadLine() + "\n";
                    }
                    scwp.Content = scwpContent;
                    wpmgr.AddWebPart(scwp, "Body", 1);
                    wpmgr.SaveChanges(scwp);
                }
            } 
            page.CheckIn(String.Empty);
        }
 
No comments:
Post a Comment