Online Training On SharePoint
                      
Showing posts with label Visual Studio 2010 code example for SharePoint 2010. Show all posts
Showing posts with label Visual Studio 2010 code example for SharePoint 2010. Show all posts

Saturday, 16 January 2010

Working with SharePoint 2010 Document Sets using SharePoint Object Model

In SharePoint 2010 we can create Document Sets in a Document Library. Learn more about Document Set @ Document Sets in Sharepoint and Customizing the Document Set

A DocSet is basically an SPListItem which is actually a folder. To work with Document Sets we need to add the reference for the following Namespaces:
  • Microsoft.Office
  • Microsoft.Office.DocumentManagement
  • Microsoft.Office.DocumentManagement.DocumentSets
These dlls are available inside C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI\
Now we will get all the documents sets in a document library using SharePoint Object Model. We will check each item in the document library to verify if it is a Document Set & if it is a document set we will get its property. We will find the Welcome Page URL, the name of the each document set, items inside a Document Set, and the fields shown in the Document Set Welcome Page.
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using Microsoft.Office; 
using Microsoft.Office.DocumentManagement; 
using Microsoft.Office.DocumentManagement.DocumentSets; 
using Microsoft.SharePoint; 
using Microsoft.SharePoint.Portal; 
using Microsoft.SharePoint.Administration; 

namespace GettingDocSetsWithObjectModel 
{ 
    class DocSetDetails 
    { 
        static void Main(string[] args) 
        { 
             if (SPFarm.Local != null) 
                { 
                    SPSite oSiteColl = new SPSite("http://SiteCollectionURL"); 
                    SPWeb oWeb = oSiteColl.OpenWeb(); 
                    SPFolder oFolder = oWeb.Folders["http://SiteCollectionURL/DocLibrary"]; 
                    SPDocumentLibrary oDocLib = oFolder.DocumentLibrary; 
                    foreach (SPListItem oItem in oDocLib.Items) 
                    { 
                        if (oItem.Folder != null) 
                        { 
                            DocumentSet oDocSet = DocumentSet.GetDocumentSet(oItem.Folder); 
                            if (oDocSet != null) 
                            { 
                                SPListItem oSpItem = oDocSet.Item; 
                                //This will get the Document Set Name 
                Console.WriteLine("Docset Name: {0}", oSpItem["Name"].ToString()); 
                //This will get the detail who has created the Document Set. 
                                Console.WriteLine("Created By: {0}", oSpItem["Created By"].ToString()); 
                                //This will show the Document Set Welcome Page. 
                Console.WriteLine("WelcomePageUrl: {0}", oDocSet.WelcomePageUrl); 
                                //This will show the number of items in the document set. 
                Console.WriteLine("ItemCount: {0}", oDocSet.Folder.ItemCount); 
                                //This will show the fields which are getting displayed in the Welcome page. 
                Console.WriteLine("Welcomepage Fields:"); 
                                DocumentSetTemplate template = oDocSet.ContentTypeTemplate; 
                                WelcomePageFieldCollection fields = template.WelcomePageFields; 
                                foreach (SPField field in fields) 
                                { 
                                    Console.WriteLine("{0}", field.Title); 

                                } 
                                Console.Read(); 
                            } } } } } } }
Related Posts with Thumbnails