July 10, 2015

Konversi string menjadi SPUser pada Sharepoint 2013 menggunakan C#


Untuk programmer yang biasa menggunakan Sharepoint, mungkin pernah mengalami masalah dimana kita memiliki sebuah column pada list dengan tipe "Person and Group". Lalu bagaimana jika kita ingin memasukkan data kedalam list untuk tipe data seperti diatas.
Sebagai contoh kita hanya memiliki inputan (value) dengan tipe data string. Jika kita langsung menggunakan value tersebut untuk memasukkan data kedalam maka proses penambahan data tersebut akan terkendala ataupun akan terjadi error.
Hal yang harus dilakukan adalah dengan cara mengkonversi string tersebut menjadi "SPUser". Berikut method untuk mengubah string menjadi "SPUser".

 private SPUser ConvertToSPUser(SPWeb oWeb,string strUsername)  
   {  
     SPUser user = oWeb.EnsureUser(strUsername);  
     SPFieldUserValue userValue = new SPFieldUserValue(oWeb, user.ID, user.LoginName);  
     return user;  
   }  

Sedangkan untuk menggunakan method diatas dalam memasukkan data kedalam list adalah sebagai berikut.

 using (SPSite site = new SPSite(SPContext.Current.Web.Url))  
         {  
           using (SPWeb web = site.OpenWeb())  
           {  
             SPList list = web.Lists.TryGetList("My List");  
             SPListItem item = list.Items.Add();  
             if (list != null)  
             {  
               DateTime dateMeeting = Convert.ToDateTime(cmbDate.SelectedItem.Text);  
               web.AllowUnsafeUpdates = true;  
               item["TestUser"] = ConvertToSPUser(web, "domain\\Username");  
               item.Update();  
               web.AllowUnsafeUpdates = false;  
             }  
           }  
         }  

Dapat kita lihat pada sintaks diatas dimana kita memanggil method "ConvertToSPUser" pada saat kita akan memasukkan data kedalam list item (item["TestUser"]), dengan mengirimkan value berupa string.

Semoga postingan ini bermanfaat.

Wassalam…

No comments: