Exemple #1
0
        public override void DeployListModel(ModelNode model)
        {
            foreach (var webUrl in WebUrls)
            {
                ContainerTraceUtils.WriteLine(string.Format("[INF]    Running on web: [{0}]", webUrl));

                for (var provisionGeneration = 0; provisionGeneration < ProvisionGenerationCount; provisionGeneration++)
                {
                    WithSSOMSiteAndWebContext(webUrl, (site, web) =>
                    {
                        var list = web.Lists.TryGetList("Site Pages");

                        if (list == null)
                        {
                            list = web.Lists.TryGetList("Pages");
                        }

                        if (list == null)
                        {
                            throw new SPMeta2Exception("Cannot find host list");
                        }

                        if (EnableDefinitionProvision)
                        {
                            _provisionService.DeployListModel(list, model);
                        }

                        if (EnableDefinitionValidation)
                        {
                            var listHost = ModelHostBase.Inherit <ListModelHost>(WebModelHost.FromWeb(list.ParentWeb), h =>
                            {
                                h.HostList = list;
                            });

                            _validationService.DeployModel(listHost, model);
                        }
                    });
                }
            }
        }