private void WriteProjectDependenciesTree(PolicyCheckResourceNode root, StreamWriter writer) { if (root.Children.Count == 0) { writer.WriteLine("No new libraries found in project"); } else { writer.WriteLine("<ul>"); foreach (PolicyCheckResourceNode child in root.Children) { WriteDependencyNode(child, writer); } writer.WriteLine("</ul>"); } }
private void WriteDependencyNode(PolicyCheckResourceNode node, StreamWriter writer) { writer.WriteLine("<li><div class='wssDependencyNode'><a class='wssAnchor' href='$node.resource.link' target='_blank'>".Replace("$node.resource.link", node.Resource.Link)); writer.WriteLine("$node.resource.displayName</a><div class='wssTextColor' style='display: inline; padding-left: 20px;'>".Replace("$node.resource.displayName", node.Resource.DisplayName)); foreach (String license in node.Resource.Licenses) { writer.WriteLine("$license ".Replace("$license", license)); } writer.WriteLine("</div>"); RequestPolicyInfo policy = node.Policy; if (policy != null) { if (policy.ActionType.ToLower().Equals("reject")) { writer.WriteLine("<div style='float: right;'><span class='wssRed'>REJECTED</span> <span class='wssAnchor' title='Rejected by policy $policyName'>info</span></div>".Replace("$policyName", policy.DisplayName)); } else { writer.WriteLine("<div style='float: right;'><span class='wssGreen'>APPROVED</span> <span class='wssAnchor' title='Approved by policy $policyName'>info</span></div>".Replace("$policyName", policy.DisplayName)); } } writer.WriteLine("</div>"); if (node.Children.Count > 0) { writer.WriteLine("<ul>"); foreach (PolicyCheckResourceNode child in node.Children) { WriteDependencyNode(child, writer); } writer.WriteLine("</ul>"); } writer.WriteLine("</li>"); }