private void SetPageScore(PageScoreNode node)
        {
            var nodeReport = _nodeReportRepository.GetById(node.NodeInformation.Id);

            if (nodeReport != null)
            {
                if (node.NodeInformation.TemplateId == 0)
                {
                    _nodeReportRepository.Delete(nodeReport);
                }
                if (node.NodeInformation.TemplateId > 0 || node.HasChildrenWithTemplate)
                {
                    node.FocusKeyword = nodeReport.FocusKeyword;
                    try
                    {
                        node.PageScore = _javascriptSerializer.Deserialize <PageScore>(nodeReport.Report);
                    }
                    catch (Exception)
                    {
                        // delete database copy
                        _nodeReportRepository.Delete(nodeReport);
                    }
                }
            }
        }
        public List <PageScoreNode> GetPageHierarchy(IEnumerable <IPublishedContent> nodeCollection, bool useCache)
        {
            var nodeHiearchyCollection = new List <PageScoreNode>();

            foreach (var node in nodeCollection)
            {
                var nodeHierarchy = new PageScoreNode
                {
                    NodeInformation = new NodeInformation
                    {
                        Id         = node.Id,
                        Name       = node.Name,
                        TemplateId = node.TemplateId
                    },
                    Children = GetPageHierarchy(node.Children, useCache)
                };

                if (useCache)
                {
                    SetPageScore(nodeHierarchy);
                }
                else
                {
                    UpdatePageScore(nodeHierarchy);
                }

                nodeHiearchyCollection.Add(nodeHierarchy);
            }

            return(nodeHiearchyCollection.ToList());
        }
        private void UpdatePageScore(PageScoreNode node)
        {
            if (node.NodeInformation.TemplateId > 0)
            {
                var umbracoNode = _umbracoHelper.TypedContent(node.NodeInformation.Id);
                var analysis    = _analyzeService.CreateAnalysis(umbracoNode);

                node.FocusKeyword = analysis.FocusKeyword;
                node.PageScore    = analysis.Score;
            }
            foreach (var childNode in node.Children)
            {
                UpdatePageScore(childNode);
            }
        }
Ejemplo n.º 4
0
        private IEnumerable <PageScoreNode> GetPageHierarchy(IEnumerable <IPublishedContent> nodeCollection)
        {
            var nodeHiearchyCollection = new List <PageScoreNode>();

            foreach (var node in nodeCollection)
            {
                var nodeHierarchy = new PageScoreNode
                {
                    NodeInformation = new NodeInformation(node)
                };
                if (node.Children != null)
                {
                    nodeHierarchy.Children = GetPageHierarchy(node.Children);
                }
                nodeHiearchyCollection.Add(nodeHierarchy);
            }
            return(nodeHiearchyCollection);
        }
Ejemplo n.º 5
0
        private void UpdatePageScore(PageScoreNode node)
        {
            if (node.NodeInformation.TemplateId > 0)
            {
                var umbracoNode = node.NodeInformation.Node;
                var analysis    = _analyzeService.CreateAnalysis(umbracoNode);

                if (analysis != null)
                {
                    node.FocusKeyword = analysis.FocusKeyword;
                    node.PageScore    = analysis.Score;
                }
            }
            foreach (var childNode in node.Children)
            {
                UpdatePageScore(childNode);
            }
        }