Forum
Merhaba,
User Profile Serviste
oluşturduğum user property’ler var. Custom yazdığım bir WebPart’da default’ta
gelen propertyleri çağırabiliyorum fakat kendi oluşturduğum property’ler
gelmiyor.
Verileri aşağıdaki gibi
alıyorum:
SPSite site = new SPSite(" http://... ");
SPServiceContext context = SPServiceContext.GetContext(site);
UserProfileManager ProfileManager = new UserProfileManager(context);
Microsoft.Office.Server.UserProfiles.UserProfile user =
ProfileManager.GetUserProfile("…");
AdiSoyadi = (user[PropertyConstants.PreferredName].Value
!= null) ?
(user[PropertyConstants.PreferredName].Value.ToString()) : "";
Örneğin
IsYeriKonumu isminde bir user property oluşturdum. Kullanıcının bu bilgisini
nasıl çekebilirim. Yardımcı olabilir misiniz?
AdiSoyadi kısmını çağırmaktan farkı yok yalnız labellarınızın tam karşılığını girmelisiniz.
Senin yöntemine alternatif olarak aşağıdaki adreste yer alan algoritma işini görebilir diye düşünüyorum. senin kodlarından farklı olarak ayrı kütüphane ve koleksiyonlar kullanmış. http://stevesp2010.blogspot.com.tr/2012/07/how-to-retrieve-sharepoint-2010-user.html
Yardımlarınız için teşekkürler...
Sorunu çözdüm. Aralarındaki fark aşağıdaki gibiymiş.
foreach (UserProfile userProfile in ProfileManager)
{
if (null != userProfile[PropertyConstants.FirstName].Value)
ozellik.AdiSoyadi = userProfile[PropertyConstants.PreferredName].Value.ToString();
if (null != userProfile["IsyeriKonumu"].Value)
ozellik.IsyeriKonumu = userProfile["IsyeriKonumu"].Value.ToString();
}