public string ResultsAsHtml(HealthCheckNotificationVerbosity verbosity) { var mark = new Markdown(); var html = mark.Transform(ResultsAsMarkDown(verbosity)); html = ApplyHtmlHighlighting(html); return(html); }
/// <summary> /// Constructor that could be used for testing /// </summary> /// <param name="enabled"></param> /// <param name="failureOnly"></param> /// <param name="verbosity"></param> /// <param name="recipientEmail"></param> /// <param name="textService"></param> internal EmailNotificationMethod(bool enabled, bool failureOnly, HealthCheckNotificationVerbosity verbosity, string recipientEmail, ILocalizedTextService textService) : base(enabled, failureOnly, verbosity) { if (textService == null) { throw new ArgumentNullException("textService"); } _textService = textService; RecipientEmail = recipientEmail; Verbosity = verbosity; }
public string ResultsAsMarkDown(HealthCheckNotificationVerbosity verbosity) { var newItem = "- "; var sb = new StringBuilder(); foreach (var result in _results) { var checkName = result.Key; var checkResults = result.Value; var checkIsSuccess = result.Value.All(x => x.ResultType == StatusResultType.Success); // add a new line if not the first check if (result.Equals(_results.First()) == false) { sb.Append(Environment.NewLine); } if (checkIsSuccess) { sb.AppendFormat("{0}Checks for '{1}' all completed succesfully.{2}", newItem, checkName, Environment.NewLine); } else { sb.AppendFormat("{0}Checks for '{1}' completed with errors.{2}", newItem, checkName, Environment.NewLine); } foreach (var checkResult in checkResults) { sb.AppendFormat("\t{0}Result: '{1}'", newItem, checkResult.ResultType); // With summary logging, only record details of warnings or errors if (checkResult.ResultType != StatusResultType.Success || verbosity == HealthCheckNotificationVerbosity.Detailed) { sb.AppendFormat(", Message: '{0}'", SimpleHtmlToMarkDown(checkResult.Message)); } sb.AppendLine(Environment.NewLine); } } return(sb.ToString()); }
/// <summary> /// Default constructor which is used in the provider model /// </summary> /// <param name="enabled"></param> /// <param name="failureOnly"></param> /// <param name="verbosity"></param> /// <param name="recipientEmail"></param> public EmailNotificationMethod(bool enabled, bool failureOnly, HealthCheckNotificationVerbosity verbosity, string recipientEmail) : this(enabled, failureOnly, verbosity, recipientEmail, ApplicationContext.Current.Services.TextService) { }
protected NotificationMethodBase(bool enabled, bool failureOnly, HealthCheckNotificationVerbosity verbosity) { Enabled = enabled; FailureOnly = failureOnly; Verbosity = verbosity; }