public void OutputValidatorResult(IValidatorRunEntry validatorRunEntry)
        {
            NotificationSeverity severity = NotificationSeverity.Unknown;
            string description            = string.Empty;

            string module = string.Join(".", validatorRunEntry.FilterSequence);
            string action = string.Join(".", validatorRunEntry.Result.FilterSequence);

            switch (validatorRunEntry.Result.ResultCode)
            {
            case ValidatorResultCode.Warning:
            {
                severity    = NotificationSeverity.Warn;
                description = ValidatorDescriptionBuilder.BuildWarningDescription(validatorRunEntry);
                break;
            }

            case ValidatorResultCode.Error:
            {
                severity    = NotificationSeverity.Error;
                description = ValidatorDescriptionBuilder.BuildErrorDescription(validatorRunEntry);
                break;
            }

            case ValidatorResultCode.Fatal:
            {
                severity    = NotificationSeverity.Critical;
                description = ValidatorDescriptionBuilder.BuildFatalDescription(validatorRunEntry);
                break;
            }

            default:
            {
                severity    = NotificationSeverity.Info;
                description = ValidatorDescriptionBuilder.BuildSuccessDescription(validatorRunEntry);
                break;
            }
            }

            var notification = new NotificationMessage()
            {
                ApplicationId     = "ValidationServer",
                NotificationTitle = string.Format("{0} Validation Results", validatorRunEntry.Result.ValidatorId),
                PhysicalSource    = Environment.MachineName,
                UserId            = WindowsIdentity.GetCurrent().Name,
                Severity          = severity,
                Action            = action,
                Module            = module,
                Description       = description
            } as INotificationMessage;

            _publishEndpoint.Publish(notification);
        }
Beispiel #2
0
        private string GetValidatorResultNotiifyDescription(IValidatorRunEntry validatorRunEntry)
        {
            var sb = new StringBuilder();

            switch (validatorRunEntry.Result.ResultCode)
            {
            case ValidatorResultCode.Warning:
            {
                sb.Append(ValidatorDescriptionBuilder.BuildWarningDescription(validatorRunEntry));
                break;
            }

            case ValidatorResultCode.Error:
            {
                sb.Append(ValidatorDescriptionBuilder.BuildErrorDescription(validatorRunEntry));
                break;
            }

            case ValidatorResultCode.Fatal:
            {
                sb.Append(ValidatorDescriptionBuilder.BuildFatalDescription(validatorRunEntry));
                break;
            }

            default:
            {
                sb.Append(ValidatorDescriptionBuilder.BuildSuccessDescription(validatorRunEntry));
                break;
            }
            }

            var action = string.Join(".", validatorRunEntry.Result.FilterSequence);

            sb.AppendLine();
            sb.AppendLine(string.Format("Module: {0}", string.Join(".", validatorRunEntry.FilterSequence)));
            sb.AppendLine(string.Format("Action: {0}", string.IsNullOrEmpty(action) ? "{NONE}" : action));
            sb.AppendLine();
            sb.AppendLine("-------------------------------------------------------");

            return(sb.ToString());
        }