Note: We have to check before adding/removing
users to/from the group and also check the users already exists or not in group. 
 
 
  
public void AddDeleteUsersInGroup(User user) 
        { 
           
  string GroupName = string.Empty; 
           
  if (user.IsAdmin.HasValue &&
  user.IsAdmin.Value) 
               
  GroupName = "Group Owners"; 
           
  else if
  (user.IsApprover.HasValue && user.IsApprover.Value) 
               
  GroupName = " Group Members"; 
           
  else 
               
  GroupName = " Group Visitors"; 
           
  SPSecurity.RunWithElevatedPrivileges(delegate() 
           
  { 
               
  using (SPSite
  site = new SPSite(SPContext.Current.Web.Url)) 
               
  { 
                    using
  (SPWeb web = site.OpenWeb()) 
                    { 
                        try 
                        { 
                            web.AllowUnsafeUpdates
  = true; 
                            SPUser spUser = web.EnsureUser(user.UserName); 
                            if (spUser != null) 
                            { 
                                SPGroup spGroup = spGatingGroup(web, GroupName); 
                                if (spGroup != null
  && (IsUserInSPGroup(spUser, GroupName.Trim()))) 
                                { 
                                   //For
  adding user to the group 
            
                           spGroup.AddUser(spUser); 
                                   //For removing user to the
  group 
                                   
  spGroup.RemoveUser(spUser); 
                                    spGroup.Update(); 
                                } 
                            } 
                        } 
                        catch (Exception
  ex) 
                        { 
                            throw ex; 
                        } 
                        finally 
                        { 
                           
  web.AllowUnsafeUpdates = false; 
                        } 
                    } 
               
  } 
           
  }); 
        } 
 |