C# Code to Perform SharePoint Group Specific Operations

C# code to find SharePoint web application Group's. 
  1. public List<NameValuePair> GetGroups(string siteUrl)  
  2.  {  
  3.      List<NameValuePair> groups = new List<NameValuePair>();  

  4.      using (SPSite site = new SPSite(siteUrl))  
  5.      {  
  6.   
  7.          using (SPWeb web = site.OpenWeb())  
  8.          {  
  9.              foreach (SPGroup group in web.Groups)  
  10.              {  
  11.                  groups.Add(new NameValuePair() { Value = group.Name, Name = group.Name });  
  12.              }  
  13.          }  
  14.      }  
  15.   
  16.      return groups;  
  17.  }  
C# code to find SharePoint web application Group owner names. 
  1. public List<NameValuePair> GetGroupsWithOwner(string siteUrl)  
  2. {  
  3.     List<NameValuePair> groups = new List<NameValuePair>();  

  4.     using (SPSite site = new SPSite(siteUrl))  
  5.     {  
  6.   
  7.         using (SPWeb web = site.OpenWeb())  
  8.         {  
  9.             string ownerName = string.Empty;  
  10.             foreach (SPGroup group in web.Groups)  
  11.             {  
  12.   
  13.                 if (group.Owner is SPUser)  
  14.                 {  
  15.                     ownerName = (group.Owner as SPUser).Name;  
  16.                 }  
  17.                 else if (group.Owner is SPGroup)  
  18.                 {  
  19.                     ownerName = (group.Owner as SPGroup).Name;  
  20.                 }  
  21.                 groups.Add(new NameValuePair() { Value = group.Name, Name = string.Format("{0} ({1})", group.Name, ownerName) });  
  22.             }  
  23.         }  
  24.     }  
  25.   
  26.     return groups;  
  27. }  
C# code to remove specific group from given web application. 
  1. public List<NameValuePair> RemoveGroups(List<string> groups, string siteUrl)  
  2. {  
  3.     List<NameValuePair> groupstatus = new List<NameValuePair>();  
  4.   
  5.     using (SPSite site = new SPSite(siteUrl))  
  6.     {  
  7.   
  8.         using (SPWeb web = site.OpenWeb())  
  9.         {  
  10.             NameValuePair groupstat; 
  11.  
  12.             foreach (string group in groups)  
  13.             {  
  14.                 groupstat = new NameValuePair();  
  15.                 try  
  16.                 {  
  17.                     web.Groups.Remove(group);  
  18.                     groupstat.Name = string.Format("{0} removed sucessfully.", group);  
  19.                     groupstat.Value = true;  
  20.                 }  
  21.                 catch (Exception ex)  
  22.                 {  
  23.                     groupstat.Name = string.Format("Error {1} while removing gorup {0}", group, ex.Message);  
  24.                     groupstat.Value = false;  
  25.                 }  
  26.   
  27.                 groupstatus.Add(groupstat);  
  28.             }  
  29.         }  
  30.     }  
  31.   
  32.     return groupstatus;  
  33. }  
C# code to add user to web application. 
  1. public bool AddUserToGroup(string siteUrl, string groupName, string memberName)  
  2. {  
  3.     bool isOwnerUpdated = false;  
  4.     using (SPSite site = new SPSite(siteUrl))  
  5.     {  
  6.         using (SPWeb web = site.OpenWeb())  
  7.         {  
  8.   
  9.   
  10.             try  
  11.             {  
  12.                 SPUser user = web.EnsureUser(memberName);  
  13.                 SPGroup group = web.Groups[groupName];  
  14.                 group.AddUser(user);  
  15.                 group.Update();    
  16.             }  
  17.             catch (Exception ex)  
  18.             {  
  19.             }  
  20.         }  
  21.     }  
  22.   
  23.     return isOwnerUpdated;    
  24.   
  25. }  
C# code to set owner for web application. 
  1. public bool SetOwnerToGroup(string siteUrl, string groupName, string ownerName, bool isGroup)  
  2. {  
  3.     bool isOwnerUpdated = false;
  4.   
  5.     using (SPSite site = new SPSite(siteUrl))  
  6.     {  
  7.         using (SPWeb web = site.OpenWeb())  
  8.         {  
  9.             try  
  10.             {  
  11.                 SPGroup group = web.Groups[groupName];  
  12.                 SPMember owner;  
  13.                 owner = web.Groups[ownerName];  
  14.                 group.Owner = owner;  
  15.                 group.Update();  
  16.             }  
  17.             catch (Exception ex)  
  18.             {  
  19.                 isOwnerUpdated = false;  
  20.   
  21.             }  
  22.         }  
  23.     }  
  24.     return isOwnerUpdated;  
  25. }  
C# code to get group members. 
  1. public List<NameValuePair> GetGroupMembers(string siteUrl, string groupName)  
  2. {  
  3.     List<NameValuePair> groupMembers = new List<NameValuePair>();  
  4.   
  5.     using (SPSite site = new SPSite(siteUrl))  
  6.     {  
  7.   
  8.         using (SPWeb web = site.OpenWeb())  
  9.         {  
  10.             NameValuePair groupMember;  
  11.   
  12.             SPGroup group = web.Groups[groupName];  
  13.   
  14.             foreach (SPUser user in group.Users)  
  15.             {  
  16.                 groupMember = new NameValuePair();  
  17.                 groupMember.Value = groupMember.Name = user.Name;  
  18.   
  19.                 groupMembers.Add(groupMember);  
  20.             }    
  21.         }  
  22.     }  
  23.   
  24.     return groupMembers;    
  25. }  
C# code to check valid users. 
  1. public bool IsValidUser(string UserName, SPWeb web)  
  2. {  
  3.     SPAdministrationWebApplication centralAdmin = SPAdministrationWebApplication.Local;  
  4.   
  5.     SPPrincipalInfo principle = SPUtility.ResolvePrincipal(centralAdmin, SPUrlZone.Default, UserName,  
  6.         SPPrincipalType.User, SPPrincipalSource.All, false);  
  7.     //( web , SPUrlZone.Default, UserName, SPPrincipalType.User, SPPrincipalSource.All, false);  
  8.   
  9.     if (principle == null)  
  10.         return false;  
  11.     return true;