public GetFieldsAndContentTypesModel ( ) : ModelNode | ||
return | ModelNode |
public ModelNode GetFieldsAndContentTypesModel()
{
var model = SPMeta2Model.NewSiteModel(site =>
{
// adding all fields from M2ProjectPrefixFields class
site.AddDefinitionsFromStaticClassType(typeof(M2ProjectPrefixFields));
// building up content types
site
.AddContentType(M2ProjectPrefixContentTypes.CompanyDocument, contentType =>
{
contentType
.AddContentTypeFieldLink(M2ProjectPrefixFields.DocumentHighlights)
.AddContentTypeFieldLink(M2ProjectPrefixFields.DocumentDescription);
})
.AddContentType(M2ProjectPrefixContentTypes.SalesProposal, contentType =>
{
})
.AddContentType(M2ProjectPrefixContentTypes.ProductDocument, contentType =>
{
})
.AddContentType(M2ProjectPrefixContentTypes.OrderDocument, contentType =>
{
contentType
.AddContentTypeFieldLink(M2ProjectPrefixFields.OrderDate)
.AddContentTypeFieldLink(M2ProjectPrefixFields.OrderAddressState)
.AddContentTypeFieldLink(M2ProjectPrefixFields.OrderPrice)
.AddContentTypeFieldLink(M2ProjectPrefixFields.OrderSalePercentage)
.AddContentTypeFieldLink(M2ProjectPrefixFields.OrderTrackingUrl);
})
.AddContentType(M2ProjectPrefixContentTypes.ProductOrService, contentType =>
{
contentType
.AddContentTypeFieldLink(M2ProjectPrefixFields.ProductDescription)
.AddContentTypeFieldLink(M2ProjectPrefixFields.ProductType)
.AddContentTypeFieldLink(M2ProjectPrefixFields.IsProductActive);
})
.AddContentType(M2ProjectPrefixContentTypes.SaleEvents, contentType =>
{
});
});
return model;
}
public void DeployIntranet(SPSite site, Options options) { // pushing site model if (options.DeploySite) { var siteModel = new M2ProjectPrefixSiteModel(); this.DeploySiteModel(site, siteModel.GetSandboxSolutionsModel()); this.DeploySiteModel(site, siteModel.GetSiteFeaturesModel()); this.DeploySiteModel(site, siteModel.GetSiteSecurityModel()); this.DeploySiteModel(site, siteModel.GetFieldsAndContentTypesModel()); } // pushing root web model if (options.DeployRootWeb) { var rootWebModel = new M2ProjectPrefixRootWebModel(); this.DeployWebModel(site.RootWeb, rootWebModel.GetStyleLibraryModel()); this.DeployWebModel(site.RootWeb, rootWebModel.GetModel()); } // pushing 'How-tow' sub web if (options.DeployHowTosWeb) { var howTosWebModel = new M2ProjectPrefixHowTosWebModel(); this.DeployWebModel(site.RootWeb, howTosWebModel.GetModel()); } }