How to: Retrieve What's Common Between Two User Profiles
Applies to: SharePoint Server 2010
When a user visits another user’s Profile page, Microsoft SharePoint Server 2010 shows all the commonalities between the two users, such as:
Their common manager
The distribution lists and Microsoft SharePoint 2010 sites they are both a member of
The colleagues they have in common
The object model allows you to find commonalities between any two user profile instances. The following code example shows you how to find the common memberships and the common manager of the specified user and the currently logged-on user.
Before using the code example, replace servername, domainname, and username with actual values. Also add references to the following in your Microsoft Visual Studio project:
Microsoft.Office.Server
Microsoft.Office.Server.UserProfiles
Microsoft.SharePoint
System.Web
Example
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Office.Server;
using Microsoft.Office.Server.Administration;
using Microsoft.Office.Server.UserProfiles;
using Microsoft.SharePoint;
using System.Web;
namespace UserProfilesApp
{
class Program
{
static void Main(string[] args)
{
using (SPSite site = new SPSite("https://servername"))
{
SPServiceContext context = SPServiceContext.GetContext(site);
UserProfileManager profileManager =
new UserProfileManager(context);
string sAccount = "domainname\\username";
UserProfile u =
profileManager.GetUserProfile(sAccount);
//Get common memberships
MemberGroup[] mem =
u.Memberships.GetCommonMemberships();
Console.WriteLine(mem[0].DisplayName);
//Get common manager
UserProfile manager = u.GetCommonManager();
Console.WriteLine(manager["DisplayName"]);
}
}
}
}
See Also
Tasks
How to: Retrieve a User Profile
How to: Retrieve User Profile Properties
How to: Get Recent User Profile Changes Using the Change Log
How to: Use the Web Service to Find What's Common Between Two User Profiles