M2RootNamespace.Models.M2ProjectPrefixSiteModel.GetFieldsAndContentTypesModel C# (CSharp) Method

GetFieldsAndContentTypesModel() public method

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;
        }

Usage Example

        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());
            }
        }
All Usage Examples Of M2RootNamespace.Models.M2ProjectPrefixSiteModel::GetFieldsAndContentTypesModel