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;
}
}
}
});
}
|