Showing posts with label server object model. Show all posts
Showing posts with label server object model. Show all posts

Saturday, June 14, 2014

Using Server object model SharePoint 2013

The below console application shows the common operations using the SharePoint 2013 Server object model.


using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DemoConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            //DisplayListItems();
            //DisplayItemById(1);
            //QueryList();
            //CreateList();
            //DisplayPagesLib();
            //AddListFields();
            //AddSiteContentType();
            //AddView();
            AddListItem();
            Console.ReadLine();
        }
        private static void DisplayListItems()
        {
            try
            {
                using (SPSite site = new SPSite(@"<<siteUrl>>"))
                {
                    using (SPWeb web = site.OpenWeb())
                    {
                        SPList empList = web.GetList("/Lists/EmpInfo");
                        SPListItemCollection items = empList.Items;
                        if (null == items)
                        {
                            return;
                        }
                        foreach (SPListItem item in items)
                        {
                            Console.WriteLine(item.Title);
                        }

                    }
                }

            }
            catch (SPException spe)
            {
                Console.WriteLine(spe.Message);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
        private static void DisplayItemById(int id)
        {
            try
            {
                using (SPSite site = new SPSite(@"<<siteUrl>>"))
                {
                    using (SPWeb web = site.OpenWeb())
                    {
                        SPList empList = web.GetList("/Lists/EmpInfo");
                        SPListItem item = empList.GetItemById(id);
                        if (null == item)
                        {
                            Console.WriteLine("Item with this id: {0} doesn't exists", id);
                            return;
                        }
                        Console.WriteLine(item.Title);
                        Console.WriteLine(item["EmpFirstName"]);
                        Console.WriteLine(item.ID);
                        Console.WriteLine(item["EmpLastName"]);
                    }
                }

            }
            catch (SPException spe)
            {
                Console.WriteLine(spe.Message);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
        private static void QueryList()
        {
            try
            {
                using (SPSite site = new SPSite(@"<<siteUrl>>"))
                {
                    using (SPWeb web = site.OpenWeb())
                    {
                        SPList empList = web.GetList("/Lists/EmpInfo");
                        SPQuery query = new SPQuery();
                        query.RowLimit = 100;
                        query.Query = "<Where><Or><Eq><FieldRef Name='ID' /><Value Type='Counter'>1</Value></Eq><Eq><FieldRef Name='ID' /><Value Type='Counter'>2</Value></Eq></Or></Where>";
                        SPListItemCollection items = empList.GetItems(query);
                        foreach (SPListItem item in items)
                        {
                            Console.WriteLine("item : " + item.ID);
                            Console.WriteLine(item.Title);
                            Console.WriteLine(item["EmpFirstName"]);
                            Console.WriteLine(item["EmpLastName"]);
                        }

                    }
                }

            }
            catch (SPException spe)
            {
                Console.WriteLine(spe.Message);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
        private static void CreateList()
        {
            try
            {
                using (SPSite site = new SPSite(@"<<siteUrl>>"))
                {
                    using (SPWeb web = site.OpenWeb())
                    {
                        Guid listId = web.Lists.Add("DemoCustomList", "DemoCustomList", SPListTemplateType.GenericList);
                        SPList list = web.Lists[listId];
                        list.ContentTypesEnabled = true;

                        list.EnableAttachments = false;
                        list.EnableVersioning = true;
                        list.Update();


                    }
                }
            }
            catch (Exception ex) { }
        }
        private static void AddListFields()
        {
            try
            {
                using (SPSite site = new SPSite(@"<<siteUrl>>"))
                {
                    using (SPWeb web = site.OpenWeb())
                    {
                        SPList demoList = web.GetList("/Lists/DemoCustomList");
                        //demoList.Fields.Add("DemoCol", SPFieldType.Text, false);
                        //demoList.Fields.Add("DemoChoice", SPFieldType.Choice, false);
                        //SPFieldChoice choiceField = demoList.Fields["DemoChoice"] as SPFieldChoice;
                        //choiceField.AddChoice("DemoChoice1");
                        //choiceField.AddChoice("DemoChoice2");
                        //choiceField.AddChoice("DemoChoice3");
                        //choiceField.AddChoice("DemoChoice4");
                        //choiceField.Update();
                        Guid empInfoListId = web.GetList("/Lists/Empinfo").ID;
                        demoList.Fields.AddLookup("DemoLkpCol", empInfoListId, false);

                        SPFieldLookup lkpDemoLookup = demoList.Fields["DemoLkpCol"] as SPFieldLookup;
                        lkpDemoLookup.LookupField = "Title";
                        lkpDemoLookup.Update();


                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

        }
        private static void DisplayPagesLib()
        {
            try
            {
                using (SPSite site = new SPSite(@"<<siteUrl>>"))
                {
                    using (SPWeb web = site.OpenWeb())
                    {
                        SPDocumentLibrary pagesLib = web.GetList("/Pages") as SPDocumentLibrary;
                        SPListItemCollection pagesColl = pagesLib.Items;
                        foreach (SPListItem item in pagesColl)
                        {
                            Console.WriteLine("Title: " + item.Title + "           Url: " + SPUrlUtility.CombineUrl(web.Url, item.Url));
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }

        private static void AddSiteContentType()
        {
            try
            {
                using (SPSite site = new SPSite(@"<<siteUrl>>"))
                {
                    using (SPWeb web = site.OpenWeb())
                    {
                        //web.Fields.Add("DemoSiteCol1", SPFieldType.Text, false);
                        //StringCollection choiceColl = new StringCollection();
                        //choiceColl.Add("DemoSiteCol2Choice1");
                        //choiceColl.Add("DemoSiteCol2Choice2");
                        //choiceColl.Add("DemoSiteCol2Choice3");
                        //choiceColl.Add("DemoSiteCol2Choice4");
                        //web.Fields.Add("DemoSiteCol2", SPFieldType.Choice, false, false, choiceColl);

                        //SPField demoCol1 = web.Fields["DemoSiteCol1"];
                        //SPField demoCol2 = web.Fields["DemoSiteCol2"];
                        //SPContentType itemCT = web.ContentTypes["Item"];
                        //SPContentType demoCt = new SPContentType(itemCT, web.ContentTypes, "DemoCT1");
                        //web.ContentTypes.Add(demoCt);


                        //SPField field1 = web.Fields["DemoSiteCol1"];
                        //SPField field2 = web.Fields["DemoSiteCol2"];

                        //SPFieldLink link1 = new SPFieldLink(field1);
                        //SPFieldLink link2 = new SPFieldLink(field2);

                        //SPContentType demoCT1 = web.ContentTypes["DemoCT1"];
                        //demoCT1.FieldLinks.Add(link1);
                        //demoCT1.FieldLinks.Add(link2);
                        //demoCT1.Update();


                        SPContentType demoSiteCT = web.ContentTypes["DemoCT1"];

                        SPList demoList = web.GetList("/Lists/DemoCustomList");
                        demoList.ContentTypes.Add(demoSiteCT);
                        demoList.Update();

                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
        private static void AddView()
        {
            try
            {

                using (SPSite site = new SPSite(@"<<siteUrl>>"))
                {
                    using (SPWeb web = site.OpenWeb())
                    {


                        SPList demoList = web.GetList("/Lists/DemoCustomList");
                        //StringCollection viewFields = new StringCollection();
                        //viewFields.Add("DemoSiteCol1");
                        //viewFields.Add("DemoSiteCol2");
                        //viewFields.Add("Title");
                        //viewFields.Add("ID");
                        //SPView view = demoList.Views.Add("Demoview", viewFields, "", 30, true, true);

                        SPView demoView = demoList.Views["Demoview"];
                        demoView.Query = "<OrderBy><FieldRef Name='DemoSiteCol1' /></OrderBy>";
                        demoView.Update();

                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }

        private static void AddListItem()
        {
            try
            {

                using (SPSite site = new SPSite(@"<<siteUrl>>"))
                {
                    using (SPWeb web = site.OpenWeb())
                    {
                        SPList demoList = web.GetList("/Lists/DemoCustomList");
                    SPListItem item= demoList.Items.Add();
                    item["Title"] = "demo123";
                    item["DemoSiteCol1"] = "DemoSiteCol1123412";
                    item["DemoSiteCol2"] = "DemoSiteCol2Choice4";
                    item.Update();

                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
    }
}