コード例 #1
0
        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 = _pagescoreSerializer.Deserialize(nodeReport.Report);
                    }
                    catch (Exception)
                    {
                        // delete database copy
                        _nodeReportRepository.Delete(nodeReport);
                    }
                    foreach (var childNode in node.Children)
                    {
                        SetPageScore(childNode);
                    }
                }
            }
        }