Example #1
0
        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);
        }