Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using Microsoft.SharePoint;
- using SPMeta2.Definitions;
- using SPMeta2.Definitions.ContentTypes;
- using SPMeta2.Enumerations;
- using SPMeta2.SSOM.Services;
- using SPMeta2.Syntax.Default;
- using System;
- using System.Collections.Generic;
- namespace ConsoleApplication4
- {
- class Program
- {
- static void Main(string[] args)
- {
- string sharepoint_url = "http://sp-2013-dsc";
- var contentTypeEvent = new ContentTypeDefinition
- {
- Id = new Guid("{271834C7-4778-4FFE-98FE-EBAF7035B84E}"),
- IdNumberValue = "0x01009E797F4456764F8DBB4D9DC1BD6748FA",
- Name = "Community Event",
- ParentContentTypeId = BuiltInContentTypeId.Item,
- Group = "isolutions"
- };
- var fieldSpeaker = new FieldDefinition
- {
- Id = new Guid("{7C18EB10-B100-4BE2-8FA1-532BA0298AFC}"),
- FieldType = "User",
- InternalName = "Speaker",
- Title = "Speaker"
- };
- var fieldAttendee = new FieldDefinition
- {
- Id = new Guid("{0E80DDEE-77F6-4280-994C-2C297D330314}"),
- FieldType = BuiltInFieldTypes.Integer,
- InternalName = "Attendee",
- Title = "Attendee"
- };
- var list = new ListDefinition
- {
- Title = "Events",
- Url = "Events",
- TemplateType = BuiltInListTemplateTypeId.GenericList,
- EnableVersioning = true,
- EnableFolderCreation = false,
- ContentTypesEnabled = true,
- OnQuickLaunch = true,
- Description = ""
- };
- var siteModel = SPMeta2Model.NewSiteModel(site =>
- {
- site
- .WithFields(field =>
- {
- field.AddField(fieldSpeaker);
- field.AddField(fieldAttendee);
- })
- .WithContentTypes(contentTypes =>
- {
- contentTypes.AddContentType(contentTypeEvent, customerDoc =>
- {
- customerDoc.AddContentTypeFieldLink(fieldSpeaker);
- customerDoc.AddContentTypeFieldLink(fieldAttendee);
- });
- });
- });
- var webModel = SPMeta2Model.NewWebModel(web =>
- {
- web.AddList(list, metadataList =>
- {
- metadataList
- .AddContentTypeLink(contentTypeEvent)
- .AddHideContentTypeLinks(new HideContentTypeLinksDefinition()
- {
- ContentTypes = new List<ContentTypeLinkValue>
- {
- new ContentTypeLinkValue
- {
- ContentTypeName = "Item"
- }
- }
- });
- });
- });
- var ssomProvisionService = new SSOMProvisionService();
- using (SPSite site = new SPSite(sharepoint_url))
- {
- ssomProvisionService.DeployModel(SPMeta2.SSOM.ModelHosts.SiteModelHost.FromSite(site), siteModel);
- using (SPWeb web = site.RootWeb)
- {
- ssomProvisionService.DeployModel(SPMeta2.SSOM.ModelHosts.WebModelHost.FromWeb(web), webModel);
- }
- }
- Console.WriteLine("All done!");
- Console.ReadLine();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement