Sharepoint’in Visual Studio ortamında yazılım geliştirilmesi ile ilgili daha önceki makalelerimizde site collection ve altındaki nesnelere erişimini incelemiştik. Şimdi ise kullanıcıların yazılım geliştirmede nasıl kullanıldığını inceleyelim.
Sharepoint’te kullanıcı bilgilerini ve işlemlerini SPUser sınıfı ile yapıyoruz. Öncelikle bu sınıfın methodlarını ve özelliklerini kısaca inceleyelim.
Property/Method | Açıklama |
Name | Kullanıcının adını döndürür |
Email | Kullanıcının e-posta adresini döndürür |
ID | Kullanıcının ID’sini döndürür |
Xml | Kullanıcı bilgisini XML türünde döndürür |
Update | Kullanıcı bilgisini günceller |
Groups | Kullanıcının bulunduğu Sharepoint grubunu (SPGroup) döndürür |
Notes | Kullanıcının notunu döndürür |
LoginName | Kullanıcının kullanıcı adı bilgisini döndürür |
Alerts | Kullanıcının Sharepoint uyarılarını (SPAlert) döndürür |
Sid | Kullanıcının security ID’sini döndürür |
Kullanıcı işlemlerini bir önrek üzerinde inceleyelim. Örneğimizde bir event receiver ile yeni duyuru eklendiğinde kullanıcı bilgilerini kullanıcının notlarına eklesin.
Bu işlem için yeni bir Empty Sharepoint Project (Farm Solution) oluşturalım ve bir Event Receiver ekleyelim.
Eklediğimiz Event Receiver’ın kodlarını aşağıdaki gibi düzenleyelim.
- using System;
- using System.Security.Permissions;
- using Microsoft.SharePoint;
- using Microsoft.SharePoint.Security;
- using Microsoft.SharePoint.Utilities;
- using Microsoft.SharePoint.Workflow;
- using System.Text;
- namespace SPFarmSolution.DuyuruYakalayici
- {
- /// <summary>
- /// List Item Events
- /// </summary>
- public class DuyuruYakalayici : SPItemEventReceiver
- {
- /// <summary>
- /// An item is being added.
- /// </summary>
- public override void ItemAdding(SPItemEventProperties properties)
- {
- SPWeb web = properties.Web;
- SPUser kullanici = web.AllUsers[properties.UserLoginName];
- StringBuilder sonuc = new StringBuilder();
- sonuc.Append("Kullanıcı ID'si: " + kullanici.ID);
- sonuc.Append("Kullanıcı notları: " + kullanici.Notes);
- sonuc.Append("Kullanıcı e-posta adresi" + kullanici.Email);
- kullanici.Notes = sonuc.ToString();
- kullanici.Update();
- base.ItemAdding(properties);
- }
- }
- }
Bu adımdan sonra yeni bir duyuru eklediğimizde kullanıcının “Notes” alanında yazdığımız notlar gelecektir.
Veysel Uğur KIZMAZ