Advertisement
fiddi

SPCM: SPMeta2 CSOM

Apr 15th, 2015
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.17 KB | None | 0 0
  1. using Microsoft.SharePoint.Client;
  2. using SPMeta2.CSOM.Services;
  3. using SPMeta2.Definitions;
  4. using SPMeta2.Enumerations;
  5. using SPMeta2.Syntax.Default;
  6. using System;
  7.  
  8. namespace ConsoleApplication2
  9. {
  10.     class Program
  11.     {
  12.         static void Main(string[] args)
  13.         {
  14.             string sharepoint_url = "http://sp-2013-dsc";
  15.  
  16.             var webProjects = new WebDefinition
  17.             {
  18.                 Title = "Projects",
  19.                 Url = "Projects",
  20.                 Description = "Projects site.",
  21.                 WebTemplate = BuiltInWebTemplates.Collaboration.TeamSite
  22.             };
  23.  
  24.             var webDepartments = new WebDefinition
  25.             {
  26.                 Title = "Departments",
  27.                 Url = "Departments",
  28.                 Description = "Departments site.",
  29.                 WebTemplate = BuiltInWebTemplates.Collaboration.TeamSite
  30.             };
  31.  
  32.             var webHR = new WebDefinition
  33.             {
  34.                 Title = "HR",
  35.                 Url = "HR",
  36.                 Description = "HR site.",
  37.                 WebTemplate = BuiltInWebTemplates.Collaboration.TeamSite
  38.             };
  39.  
  40.             var webIT = new WebDefinition
  41.             {
  42.                 Title = "IT",
  43.                 Url = "IT",
  44.                 Description = "IT site.",
  45.                 WebTemplate = BuiltInWebTemplates.Collaboration.TeamSite
  46.             };
  47.  
  48.             var webModelSubwebs = SPMeta2Model.NewWebModel(web =>
  49.             {
  50.                 web
  51.                     .AddWeb(webProjects)
  52.                     .AddWeb(webDepartments, departmentsWeb =>
  53.                     {
  54.                         departmentsWeb
  55.                         .AddWeb(webHR)
  56.                         .AddWeb(webIT);
  57.                     });
  58.             });
  59.  
  60.             using (var clientContext = new ClientContext(sharepoint_url))
  61.             {
  62.                 var csomProvisionService = new CSOMProvisionService();
  63.                 csomProvisionService.DeployModel(SPMeta2.CSOM.ModelHosts.SiteModelHost.FromClientContext(clientContext), webModelSubwebs);
  64.             }
  65.  
  66.             Console.WriteLine("Done.");
  67.             Console.ReadLine();
  68.         }
  69.     }
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement