July 11, 2015

LINQ pada SPListItem menggunakan C#

Postingan ini akan menjelaskan bagaimana menggunakan LINQ pada SPListItem. Sebagai contoh jika kita ingin melakukan select Distinct atau pun ingin melakukan sorting pada List Item tanpa menggunakan “Collaborative Application Markup Language” (CAML).
Sebagai contoh, kita akan melakukan distinct pada salah column Sharepoint list. Untuk mendapatkan SPListItem dapat dilihat disini

  IEnumerable enumDistinct = ienumAllowance.Select(itm => itm["Title"]).Distinct().OrderBy(itm => itm.ToString());  

Selanjutnya kita juga dapat melakukan pencarian data pada List Item, seperti berikut.

  IEnumerable enumDate = from SPListItem item in ienumAllowance  
                             where (item["Title"].Equals("Value"))  
                             select item;  

Semoga bermanfaat..
Wassalam

Cara mendapatkan User Detail dari Person and Group column pada Sharepoint 2013 menggunakan C#

Pada artikel sebelumnya telah dijelaskan bagaimana melakukan konversi dari string menjadi SPUser. Sehingga kita dapat memasukkan data tersebut kedalam list dengan column yang bertipe “Person and Group”. Sedangkan pada artikel ini akan dijelaskan, bagaimana mengambil user detail pada colum “Person and Group”.
Sebagai ilustrasi, kita memiliki sebuah list dengan salah satu column nya bertipe “Person and Group”. Dan selanjutnya dari data yang ada tersebut akan diambil user detailnya, seperti Nama, Username dan Email. Untuk contoh saya akan menampilkan data-data tersebut kedalam GridView.

Hal yang pertama yang dilakukan adalah dengan membuat sebuah method untuk mengambil data pada sebuah list.

  private IEnumerable TakeListData()  
   {  
     IEnumerable<SPListItem> myListItem = null;  
     using (SPSite site = new SPSite(SPContext.Current.Web.Url))  
     {  
       using (SPWeb web = site.OpenWeb())  
       {  
         SPList list = web.Lists.TryGetList("User Detail");  
         if (list == null) return null ;  
         SPQuery query = new SPQuery();  
         query.Query = "";  
         SPListItemCollection rs = list.GetItems(query);  
         myListItem = rs.OfType<SPListItem>();  
       }  
     }  
     return myListItem;  
   }  

Selanjutnya adalah membuat method, dimana proses konversi dari SPListItem menjadi SPUser.

  private SPUser getUser(SPListItem item)  
   {  
     SPFieldUser field = item.Fields.GetFieldByInternalName("Approver") as SPFieldUser;  
     if (field != null)  
     {  
       SPFieldUserValue fieldValue = field.GetFieldValue(item["Approver"].ToString()) as SPFieldUserValue;  
       if (fieldValue != null)  
         return fieldValue.User;  
     }  
     return null;  
   }  

"Approver" adalah column yang memilki tipe "Person and Group".  Langkah terakhir adalah dengan membuat method untuk menampilkan detail user kedalam GridView.

 private void BindData()  
   {  
     IEnumerable myListItem = TakeListData();  
     DataTable dtApprover = new DataTable();  
     dtApprover.Columns.Add("LoginName", typeof(string));  
     dtApprover.Columns.Add("Name", typeof(string));  
     dtApprover.Columns.Add("Email", typeof(string));  
     foreach (var item in myListItem)  
     {  
       SPUser user = getUser(item);  
       DataRow row = dtApprover.NewRow();  
       row["Name"] = user.Name;  
       row["LoginName"] = user.LoginName;  
       row["Email"] = user.Email;  
       dtApprover.Rows.Add(row);  
     }  
     ASPxGridView1.DataSource = dtApprover;  
     ASPxGridView1.DataBind();  
   }  

Semoga bermanfaat..
Wassalam...

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…

May 30, 2015

Souce Code C# (Pengenalan Entity Framework (EF) 6 pada Visual Basic 2013)

Untuk rekan-rekan yang ingin memiliki full source code C#
(Pengenalan Entity Framework (EF) 6 pada Visual Basic 2013), dapat di download disini


Semoga bermanfaat.
Wassalam..

Pengenalan Entity Framework (EF) 6 pada Visual Basic 2013

Entity Framework (EF) adalah salah satu alat dari Microsoft untuk membantu programmer dalam pengolahan data dengan menggunakan metode Object Relational Mapping atau yang biasa disebut juga dengan O/RM.

Entity Framework pertama kali tersedia pada Visual Studio 2008 SP 1 dan .Net Framework 3.5 SP 1 dimana pada saat itu microsoft juga meluncurkan teknologi yang bernama LINQ (Languange Integrated Query). Sampai pada saat artikel ini dibuat Entity Framewok sudah sampai pada versi 6 atau yang biasa disebut dengan EF 6.


Pada versi pertamanya EF hanya masih terdapat fitur Database First . Sedangkan pada saat versi EF 4 fitur-fitur tersebut telah bertambah, tidak hanya Database First tetapi sudah mendukung Model First . Dan terdapat beberapa perubahan minor untuk versi 4 ini, seperti EF 4.1 – 4.3. Pada versi ini terdapat fitur baru yang dikenal dengan nama Code First. Lalu pada saat microsoft meluncurkan Visual Studio 2012 dan .Net Framework 4.5, EF 5 juga tersedia sebagai fitur baru pada produk microsoft tersebut. Dengan beberapa fitur baru pada EF 5, seperti Table Value Functions, Spatial Types dan dukungan yang lebih untuk ASP.NET MVC. EF 6 direlease bersamaan dengan Visual Studio 2013 dengan beberapa fitur baru seperti dukungan asynchronous untuk query, stored procedure untuk Code First dan lain-lain.

Untuk artikel selengkapnya dapat di download disini
Sedangkan untuk memudahkan dalam memahami isi artikel, maka penulis juga menyertakan dengan full source code project latihan ini, dan dapat di download disini

Semoga bermanfaat..
Wassalam..

April 9, 2015

Menggunakan client side object model (CSOM) pada Sharepoint 2013

Pada artikel terdahulu (http://junindar.blogspot.com/2013/03/crud-pada-sharepoint-list-menggunakan.html)   penulis menjelaskan bagaimana melakukan proses Create, Read, Update dan Delete (CRUD) pada Sharepoint List dengan menggunakan VB 10. Pada artikel tersebut penulis menggunakan Web Services yang telah disediakan oleh SharePoint itu sendiri. Sebenarnya terdapat beberapa cara untuk melakukan hal tersebut, bisa menggunakan CSOM, JSOM dan REST API (https://msdn.microsoft.com/en-us/library/office/dn268594.aspx).
 Pada artikel ini penulis akan menjelaskan bagaimana menggunakan CSOM untuk membuat list maupun memanipulasi data yang ada pada SharePoint list. CSOM digunakan untuk aplikasi yang berjalan di luar dari SharePoint server, seperti windows aplikasi, mobile dan sebagainya. Sebelum menggunakan CSOM terlebih dahulu kita memerlukan SharePoint Server 2013 Client Components SDK dimana terdapat beberapa library yang akan digunakan dalam penulisan kode program (http://www.microsoft.com/en-my/download/details.aspx?id=35585).


Untuk artikel selengkapnya dapat di download disini
Sedangkan untuk memudahkan dalam memahami isi artikel, maka penulis juga menyertakan dengan full source code project latihan ini, dan dapat di download disini

Semoga bermanfaat..
Wassalam..

March 30, 2015

Source Code C# (Menggunakan client side object model (CSOM) pada Sarepoint 2013)

Untuk rekan-rekan yang ingin memiliki full source code C# (Menggunakan client side object model (CSOM) pada Sarepoint 2013), dapat di download disini



Semoga bermanfaat.
Wassalam..