Я пытаюсь создать веб-часть "Кто есть" для проекта SharePoint 2010, над которым я работаю.
Эта веб-часть должна выбирать случайного пользователя из профилей SharePoint и отображать его /ее имя, отдел и телефон.
Проблема в том, что я не смог найти способ получить случайного пользователя непосредственно из профилей пользователей, что я и хотел бы сделать.
Я нашел способ сделать это:
SPServiceContext myContext = SPServiceContext.GetContext(mySite);
SPWeb myWeb = SPContext.Current.Web;
UserProfileManager profileManager = new UserProfileManager(myContext);
bool boolOut;
SPPrincipalInfo[] userInfos = SPUtility.GetPrincipalsInGroup(myWeb, "AllUsers", profileManager.Count, out boolOut);
Random random = new Random();
int randomUser = random.Next(0, userInfos.Length);
SPPrincipalInfo user = userInfos[randomUser];
bool userFound = false;
while(!userFound)
{
if (profileManager.UserExists(user.LoginName))
{
UserProfile userProfile = profileManager.GetUserProfile(user.LoginName);
userDepartment = Convert.ToString(userProfile[PropertyConstants.Department].Value);
userPicture = Convert.ToString(UserProfile[PropertyConstants.PictureUrl].Value);
userFound = true;
}
}
Таким образом, я сделал это, это могло быть проблемой, потому что на сайте было бы 2k + пользователей, поэтому я хотел бы знать, возможно ли сделать это напрямуюиз профилей пользователей.
Я новичок в SharePoint, и это меня немного смущает.
Спасибо за вашу помощь.