public ActionResult Details(ReportDetailsModel model) { this.ViewData["guid"] = model.Guid; this.ViewData["exporters"] = JsonConvert.SerializeObject(new { csv = "CsvReportExporter", xhtml = "XHtmlReportExporter", odt = "OdtDocumentExporter", ods = "OdsDocumentExporter" }); return(View()); }
public void RenderPdf(List <Error> testResults, ReportDetailsModel reportDetails) { HtmlToPdf renderer = new HtmlToPdf(); var html = @"<style> h1, h2, p {text-align:center;} p {font-size: 18px; }"; html += "table {border-collapse: collapse;} th, td {border: 1px solid black;}</style>" + "<h1>Raport stanu bezpieczeństwa serwera</h1>" + "<h2 style=\"margin-top: 30px;\">Status:"; if (reportDetails.FaliureCount > 0) { html += "<span style=\"color: red;\"> Wykryto nieprawidłowości</span></h2>"; } else { html += "<span style=\"color: green;\"> Brak nieprawidłowości</span></h2>"; } html += "<p style=\"margin-top: 50px;\">Liczba poprawnych elementów konfiguracji: " + $"{reportDetails.NumberOfTests - reportDetails.FaliureCount}/" + $"{reportDetails.NumberOfTests}</p>"; html += $"<p>Data wygenerowania dokumentu: {DateTime.Now}"; html += "<h2 style=\"margin-top: 40px;\">Szczegółowe wyniki:</h2>"; html += "<table style=\"width:100%; \"><tr><th><p>Typ paramtru</p></th><th><p>Nazwa</p></th><th><p>Czy jest poprawnie skonfigurowany</p></th></tr>"; foreach (var testResult in testResults) { html += $"<tr><td><p>{testResult.Module}</p></td>"; html += $"<td><p>{testResult.InsteadOfWhat}</p></td>"; if (testResult.IsError) { html += $"<td><p>Nie</p></td></tr>"; } else { html += $"<td><p>Tak</p></td></tr>"; } } renderer.RenderHtmlAsPdf(html).SaveAs("html-string.pdf"); }
static void Main(string[] args) { var osDetailsService = new OSDetailsService(); var userDetailsService = new UsersDetailsService(); var aplicationService = new AplicationService(); var antivirusService = new AntivirusService(); var dataToPdf = new DataToPdf(); Console.WriteLine(osDetailsService.GetOSVersion()); Console.WriteLine(osDetailsService.IsOs64Bit()); Console.WriteLine(osDetailsService.GetLoggedUserName()); var ins = new ComparationService("loaded.json", null); var report = ins.getAndFillMistakes(); var pdfGenerator = new DataToPdf(); var reportModel = new ReportDetailsModel(); reportModel.FaliureCount = report.Where(x => x.IsError == true).ToList().Count; reportModel.NumberOfTests = report.Count; pdfGenerator.RenderPdf(report, reportModel); }