public bool RegenerateHtmlTask() { return(StartTask("Regenerate html report", () => { if (!File.Exists(FileOrDirectory)) { WriteInRed("The file " + FileOrDirectory + " doesn't exist"); return; } if (FileOrDirectory.StartsWith("ad_cg_")) { CompromiseGraphData data = DataHelper <CompromiseGraphData> .LoadXml(FileOrDirectory); HealthCheckReportCompromiseGraph report = new HealthCheckReportCompromiseGraph(data, License); report.GenerateReportFile("ad_cg_" + data.DomainFQDN + ".html"); } else { HealthcheckData healthcheckData = DataHelper <HealthcheckData> .LoadXml(FileOrDirectory); HealthCheckReportSingle report = new HealthCheckReportSingle(healthcheckData, License); report.GenerateReportFile("ad_hc_" + healthcheckData.DomainFQDN + ".html"); } } )); }
public bool GenerateDemoReportTask() { return(StartTask("Generating demo reports", () => { if (String.IsNullOrEmpty(FileOrDirectory)) { FileOrDirectory = Directory.GetCurrentDirectory(); } if (!Directory.Exists(FileOrDirectory)) { WriteInRed("The directory " + FileOrDirectory + " doesn't exist"); return; } string path = Path.Combine(FileOrDirectory, "demo"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } HealthcheckDataCollection consolidation = HealthcheckDataHelper.LoadXmls(FileOrDirectory, FilterReportDate); if (consolidation.Count == 0) { WriteInRed("No report has been found. The program will stop"); return; } consolidation = HealthcheckDataHelper.TransformReportsToDemo(consolidation); foreach (HealthcheckData data in consolidation) { string domain = data.DomainFQDN; HealthCheckReportSingle report = new HealthCheckReportSingle(data, License); string newfile = Path.Combine(path, "ad_hc_" + domain + ".html"); string html = report.GenerateReportFile(newfile); newfile = Path.Combine(path, "ad_hc_" + domain + ".xml"); data.Level = ExportLevel; string xml = DataHelper <HealthcheckData> .SaveAsXml(data, newfile, EncryptReport); } } )); }
bool HealthcheckSubTask(string server, Dictionary <string, string> xmlreports, Dictionary <string, string> htmlreports, bool DoAnalyzeReachableDomains, out HealthcheckData data) { HealthcheckData reportTemp = null; bool status = StartTask("Healthcheck for " + server, () => { HealthcheckAnalyzer hc = new HealthcheckAnalyzer(); hc.AnalyzeReachableDomains = DoAnalyzeReachableDomains; hc.NumberOfDepthForSplit = NumberOfDepthForSplit; hc.GenerateReport(server, ADWSPort, Credential); reportTemp = hc.healthcheckData; string domain = hc.healthcheckData.DomainFQDN; DisplayAdvancement("Generating html report"); HealthCheckReportSingle report = new HealthCheckReportSingle(hc.healthcheckData, License); htmlreports[domain] = report.GenerateReportFile("ad_hc_" + domain + ".html"); DisplayAdvancement("Generating xml file for consolidation report" + (EncryptReport ? " (encrypted)" : "")); hc.healthcheckData.Level = ExportLevel; xmlreports[domain] = DataHelper <HealthcheckData> .SaveAsXml(hc.healthcheckData, "ad_hc_" + domain + ".xml", EncryptReport); }); data = reportTemp; return(status); }