/// <summary> /// Initializes a new instance of the <see cref="AuditController"/> class. /// </summary> /// <param name="auditFilePath">The path to the XML audit file.</param> public AuditController(string auditFilePath) { _colAuditGroup = new AuditCollection(); TableTemplates = AuditUtils.GeTableTemplates(); LoadAuditGroup(auditFilePath); }
private static string PrepareResultsSingleAudit(Audit testedAudit, DataSet testData) { var body = new StringBuilder(); Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); string sourceEmailDescription = config.AppSettings.Settings["sourceEmailDescription"].Value; if (testedAudit.Test.SendReport) { testedAudit.ShowThresholdMessage = false; testedAudit.ShowQueryMessage = false; if (testedAudit.EmailSubject != null) { body.AppendLine("<h2>" + testedAudit.EmailSubject + "</h2>"); } body.Append("This report ran at " + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt", CultureInfo.InvariantCulture) + AuditUtils.HtmlBreak + AuditUtils.HtmlBreak); } if (testedAudit.ShowThresholdMessage) { body.AppendLine("<h2>ERROR MESSAGE</h2>"); body.Append(testedAudit.Test.FailedMessage + AuditUtils.HtmlBreak + AuditUtils.HtmlBreak); } if (testedAudit.ShowCommentMessage) { body.AppendLine("COMMENTS AND INSTRUCTIONS" + AuditUtils.HtmlBreak); body.AppendLine("============================" + AuditUtils.HtmlBreak); if (testedAudit.Test.Instructions != null) { if (testedAudit.Test.Instructions.Length > 0) { body.Append(testedAudit.Test.Instructions.ToHtml() + AuditUtils.HtmlBreak); body.AppendLine(AuditUtils.HtmlBreak); } } } if (testedAudit.IncludeDataInEmail) { if (testData.Tables.Count > 0) { EmailTableTemplate currTemplate = testedAudit.Test.TemplateColorScheme; string htmlData = AuditUtils.CreateHtmlData(testedAudit, testData, currTemplate); body.Append(htmlData); } } body.AppendLine(AuditUtils.HtmlBreak); if (testedAudit.Test.SendReport) { body.Append("This report ran at " + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt", CultureInfo.InvariantCulture) + AuditUtils.HtmlBreak); body.Append("<b>This report was run on: " + testedAudit.TestServer + "</b>" + AuditUtils.HtmlBreak + AuditUtils.HtmlBreak); } else { body.Append("This audit ran at " + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt", CultureInfo.InvariantCulture) + AuditUtils.HtmlBreak); } if (testedAudit.ShowQueryMessage) { body.Append(AuditUtils.HtmlBreak); body.Append("The '" + testedAudit.Name + "' audit has failed. The following SQL statement was used to test this audit :" + AuditUtils.HtmlBreak); body.Append(testedAudit.Test.SqlStatementToCheck.ToHtml() + AuditUtils.HtmlBreak); body.Append("<b>This query was run on: " + testedAudit.TestServer + "</b>" + AuditUtils.HtmlBreak + AuditUtils.HtmlBreak); } string cleanBody = body.ToString().Replace("\r\n", string.Empty); return(cleanBody); }