private IEnumerable <WebPartAnalysisResult> ExtractWebPartsWithEmptyColumnsProperty( CmsPageTemplate template, IEnumerable <CmsTreeNode> treeNodes ) { var emptyColumnsWebPartProperties = template .PageTemplateWebParts? .Descendants("property") .Where( property => property .Attribute("name") .Value == "columns" ) .Where(property => string.IsNullOrWhiteSpace(property.Value)); var webPartXmls = emptyColumnsWebPartProperties.Ancestors("webpart"); foreach (var webPartXml in webPartXmls) { yield return new WebPartAnalysisResult { WebPartControlId = webPartXml .Attribute("controlid") .Value, WebPartType = webPartXml .Attribute("type") .Value, PageTemplateId = template.PageTemplateID, TreeNodes = treeNodes } } ; }
private static IEnumerable <TransformationUsageResult> AsTransformationUsageResults(CmsPageTemplate pageTemplate) { if (pageTemplate.WebParts != null) { foreach (var webPart in pageTemplate.WebParts) { foreach (var property in webPart.Properties) { if (property.Transformation != null) { yield return new TransformationUsageResult { PageTemplateID = pageTemplate.PageTemplateID, PageTemplateCodeName = pageTemplate.PageTemplateCodeName, PageTemplateDisplayName = pageTemplate.PageTemplateDisplayName, PageTemplateWebParts = pageTemplate.PageTemplateWebParts, WebPartControlId = webPart.ControlId, WebPartPropertyName = property.Name, TransformationID = property.Transformation.TransformationID, TransformationFullName = property.Transformation.FullName } } } } } ; }