Saturday, July 7, 2012

SharePoint: Client Side Object Model Part - II

Let's start with Modules. Web Class defines all web related methods.

Program.cs file

using Microsoft.SharePoint.Client;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleCSOM
{
    class Program
    {
        static void Main(string[] args)
        {
            ClientContext context = new ClientContext("http://goazrapp18:33369");
            Web web = context.Web;

            //Web Operations
            WebMethods(context, web);

            //List Operations
            ListMethods(context, web);

            Console.WriteLine("Please press any key to exit");
            Console.ReadLine();
        }
 private static void WebMethods(ClientContext context, Web web)
        {
            //Get Title and Description
            WebOperation.GetTitle(context, web);


            //Update Title and Description
            WebOperation.UpdateTitle(context, web);

            //Delete Existing Web
            WebOperation.DeleteWeb(context, web);

            //Create New Web
            WebOperation.CreateWeb(context);
        }
    }
}

WebOperation.cs File


using Microsoft.SharePoint.Client;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace ConsoleCSOM
{
    public class WebOperation
    {

        public static void CreateWeb(ClientContext context)
        {
            WebCreationInformation creation = new WebCreationInformation();
            creation.Url = "web1";
            creation.Title = "Web 1";
            creation.Description = " Web 1 Descroption";
            Web newWeb = context.Web.Webs.Add(creation);
            context.ExecuteQuery();
            Console.WriteLine("Web 1 created");
        }

        public static void DeleteWeb(ClientContext context, Web web)
        {
            context.Load(web.Webs, webs => webs.Include(tWeb => tWeb.Title));
            context.ExecuteQuery();
            foreach (Web tWeb in web.Webs)
                if (tWeb.Title == "Web 1")
                {
                    tWeb.DeleteObject();
                    context.ExecuteQuery();
                    Console.WriteLine("Web 1 deleted");
                }
        }

        public static void UpdateTitle(ClientContext context, Web web)
        {
            web.Title = "New Team Site " + DateTime.Now;
            web.Description = "Team Site Description " + DateTime.Now;
            web.Update();
            context.ExecuteQuery();
            Console.WriteLine(web.Title);
            Console.WriteLine(web.Description);
        }

        public static void GetTitle(ClientContext context, Web web)
        {
            context.Load(web, w => w.Title, w => w.Description);
            context.ExecuteQuery();
            Console.WriteLine(web.Title);
            Console.WriteLine(web.Description);
        }
    }
}


Output :


No comments:

Post a Comment