Как я могу получить список всех пользователей, сообщающих для определенного пользователя, используя userprofilemanager?
-
09-12-2019 - |
Вопрос
Я могу видеть, что класс UserProfileManager имеет метод GetManager (), чтобы вытащить менеджер от профиля пользователей, но я не вижу ничего, что возвращает список всех пользователей, которые в настоящее время сообщают о конкретном пользователю.Мне интересно, есть ли обходной путь.
SPSite site;
SPWeb web;
SPServiceContext serviceContext;
UserProfileManager profiles;
UserProfile profile;
try
{
using (site = new SPSite(SPContext.Current.Web.Url))
{
using (web = site.OpenWeb())
{
serviceContext = SPServiceContext.GetContext(site);
profiles = new UserProfileManager(serviceContext);
//Getting the profile of logged in user.
profile = profiles.GetUserProfile(web.CurrentUser.LoginName);
//Getting profile of the manager of the logged in user.
profile = profile.GetManager();
}
}
}
catch { }
. Решение
Вы действительно имеете методы получения менеджера, сверстников и прямых отчетов:
// Check whether the user profile and the manager user profile exist, and that they are not
// the same user.
if (userProfileManager.UserExists(loginName))
{
// Retrieve the user profile.
UserProfile userProfile = userProfileManager.GetUserProfile(loginName);
// Get the user's multiple levels of managers, peers, and direct reports.
managers = new List<UserProfile>(userProfile.GetManagers());
peers = new List<UserProfile>(userProfile.GetPeers());
directReports = new List<UserProfile>(userProfile.GetDirectReports());
.
}
работает в 2007 году, должно быть одинаково в 2010 году: http://msdn.microsoft.com/en-us/library/cc973103 (v= office.12) .aspx
Не связан с sharepoint.stackexchange