I had an SPItem in a list, and I wanted to know: Is the creater of the item a colleague with the current user?
After surfing around on the internet, I came to a solution where I use UserProfile's.
I can get the loggedIn- and Current-UserProfiles Guid and check whether they are colleagues.
// Get Site and Web.
SPSite currentSPSite = SPControl.GetContextSite(Control.Context);
SPWeb currentSPWeb = currentSPSite.RootWeb;
// Loop through SiteUserInfoList
foreach (SPItem currentSPItem in currentSPWeb.SiteUserInfoList.Items)
string createdBy = currentSPItem["Created By"].ToString();
int index = createdBy.IndexOf(';');
int id = Int32.Parse(userValue.Substring(0, index));
SPUser currentSPUser = currentSPWeb.SiteUsers.GetByID(id);
// ServerContext provides run-time methods for shared services in Microsoft Office SharePoint Server 2007.
ServerContext serverContext = ServerContext.GetContext(currentSPSite);
// UserProfileManager is a collection of UserProfile objects.
UserProfileManager userProfileManager = new UserProfileManager(serverContext);
// The current UserProfile for the current item
UserProfile currentUserProfile = userProfileManager.GetUserProfile(currentSPUser.LoginName);
// The current UserProfile for the logged in user
UserProfile loggedInUserProfile = userProfileManager.GetUserProfile(currentSPWeb.CurrentUser.LoginName);
// Is the currentUserProfile a colleague with the loggedInUserProfile