Esempio n. 1
0
        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;
 }
Esempio n. 3
0
        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;
 }