Exemplo n.º 1
0
        protected virtual void ProcessWebPartDeletes(
            IEnumerable <Microsoft.SharePoint.Client.WebParts.WebPartDefinition> spWebPartDefenitions,
            DeleteWebPartsDefinition definition)
        {
            var webParts2Delete = new List <Microsoft.SharePoint.Client.WebParts.WebPartDefinition>();

            if (definition.WebParts.Any())
            {
                foreach (var webPartMatch in definition.WebParts)
                {
                    var currentWebPartMatch = FindWebPartMatch(spWebPartDefenitions, webPartMatch);

                    if (currentWebPartMatch != null && !webParts2Delete.Contains(currentWebPartMatch))
                    {
                        webParts2Delete.Add(currentWebPartMatch);
                    }
                }
            }
            else
            {
                webParts2Delete.AddRange(spWebPartDefenitions);
            }

            // clean up
            foreach (var wp in webParts2Delete)
            {
                wp.DeleteWebPart();
            }
        }
Exemplo n.º 2
0
        protected virtual void ProcessWebPartDeletes(
            Microsoft.SharePoint.WebPartPages.SPLimitedWebPartManager wpManager,
            IEnumerable <WebPart> spWebPartDefenitions,
            DeleteWebPartsDefinition definition)
        {
            var webParts2Delete = new List <WebPart>();

            if (definition.WebParts.Any())
            {
                foreach (var webPartMatch in definition.WebParts)
                {
                    var currentWebPartMatch = FindWebPartMatch(spWebPartDefenitions, webPartMatch);

                    if (currentWebPartMatch != null && !webParts2Delete.Contains(currentWebPartMatch))
                    {
                        webParts2Delete.Add(currentWebPartMatch);
                    }
                }
            }
            else
            {
                webParts2Delete.AddRange(spWebPartDefenitions);
            }

            // clean up
            for (var index = 0; index < webParts2Delete.Count; index++)
            {
                wpManager.DeleteWebPart(webParts2Delete[index]);
            }
        }
Exemplo n.º 3
0
        public void CanDeploy_DeleteWebpart_ByTitle()
        {
            var wpPage = ModelGeneratorService.GetRandomDefinition <WikiPageDefinition>();

            var title1 = "title1_" + Rnd.String();
            var title2 = "title2_" + Rnd.String();

            var wp1 = ModelGeneratorService.GetRandomDefinition <WebPartDefinition>(def =>
            {
                def.Title = title1;
            });

            var wp2 = ModelGeneratorService.GetRandomDefinition <WebPartDefinition>(def =>
            {
                def.Title = title2;
            });

            var model = SPMeta2Model.NewWebModel(web =>
            {
                web.AddHostList(BuiltInListDefinitions.SitePages, list =>
                {
                    list.AddWikiPage(wpPage, page =>
                    {
                        page.AddWebParts(new[] { wp1, wp2 });
                    });
                });
            });

            var wpDeletionDef = new DeleteWebPartsDefinition
            {
            };

            wpDeletionDef.WebParts.Add(new WebPartMatch
            {
                Title = title1
            });

            var deleteModel = SPMeta2Model.NewWebModel(web =>
            {
                web.AddHostList(BuiltInListDefinitions.SitePages, list =>
                {
                    list.AddHostWikiPage(wpPage, page =>
                    {
                        page.AddDeleteWebParts(wpDeletionDef);
                    });
                });
            });

            TestModel(model, deleteModel);
        }
Exemplo n.º 4
0
        public void CanDeployDeleteWebPartsDefinition_ByTitle()
        {
            var webPartPage = new WebPartPageDefinition
            {
                Title              = "M2 webparts",
                FileName           = "web-parts.aspx",
                PageLayoutTemplate = BuiltInWebPartPageTemplates.spstd1
            };

            // aiming to delete two web part with the following titles:
            // 'My Tasks'
            // 'My Projects'
            var myWebPartDeletionDef = new DeleteWebPartsDefinition
            {
                WebParts = new List <WebPartMatch>(new WebPartMatch[] {
                    new WebPartMatch {
                        Title = "My Tasks"
                    },
                    new WebPartMatch {
                        Title = "My Projects"
                    }
                })
            };

            var model = SPMeta2Model.NewWebModel(web =>
            {
                web.AddHostList(BuiltInListDefinitions.SitePages, list =>
                {
                    list.AddWebPartPage(webPartPage, page =>
                    {
                        page.AddDeleteWebParts(myWebPartDeletionDef);
                    });
                });
            });

            DeployModel(model);
        }
Exemplo n.º 5
0
 public static ModelNode AddDeleteWebParts(this ModelNode model, DeleteWebPartsDefinition definition, Action <ModelNode> action)
 {
     return(model.AddDefinitionNode(definition, action));
 }
Exemplo n.º 6
0
 public static ModelNode AddDeleteWebParts(this ModelNode model, DeleteWebPartsDefinition definition)
 {
     return(AddDeleteWebParts(model, definition, null));
 }
 public static TModelNode AddDeleteWebParts<TModelNode>(this TModelNode model, DeleteWebPartsDefinition definition,
     Action<DeleteWebPartsModelNode> action)
     where TModelNode : ModelNode, IWebpartHostModelNode, new()
 {
     return model.AddTypedDefinitionNode(definition, action);
 }
 public static TModelNode AddDeleteWebParts<TModelNode>(this TModelNode model, DeleteWebPartsDefinition definition)
     where TModelNode : ModelNode, IWebpartHostModelNode, new()
 {
     return AddDeleteWebParts(model, definition, null);
 }