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); } } } }