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);
        }
        public static string BuildDescription(string title, IValidatorRunEntry validatorRunEntry)
        {
            log.Debug("Building description for ValidatorRunEntry with tags {tags}", string.Join(".", validatorRunEntry.FilterSequence));
            var sb = new StringBuilder();

            sb.AppendLine(title);
            sb.AppendLine();
            sb.AppendLine(string.Format("Result Identifier: {0}", validatorRunEntry.Result.ResultIdentifier));
            sb.AppendLine(string.Format("Start Time: {0}", validatorRunEntry.StartTime));
            sb.AppendLine(string.Format("Finish Time: {0}", validatorRunEntry.FinishTime));
            sb.AppendLine(string.Format("Result Code: {0}", validatorRunEntry.Result.ResultCode));
            sb.AppendLine(string.Format("Description: {0}", validatorRunEntry.Result.Description));

            return(sb.ToString());
        }
        public void OutputValidatorResult(IValidatorRunEntry validatorRunEntry)
        {
            string results = this.GetValidatorResultNotiifyDescription(validatorRunEntry);

            if (!PDDirectory.Exists(ValidatationResultsFolderName))
            {
                PDDirectory.CreateDirectory(ValidatationResultsFolderName);
            }

            var fileName = string.Format(@"{0}\{1}_Output.txt", ValidatationResultsFolderName, validatorRunEntry.Result.ValidatorId);

            lock (locker)
            {
                System.IO.File.AppendAllText(fileName, results + Environment.NewLine);
            }
        }
示例#4
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());
        }
示例#5
0
        public void OutputValidatorResult(IValidatorRunEntry validatorRunEntry)
        {
            string results = this.GetValidatorResultNotiifyDescription(validatorRunEntry);

            Console.WriteLine(results);
        }
        public static string BuildErrorDescription(IValidatorRunEntry validatorRunEntry)
        {
            string title = string.Format("Validator {0} ran with one or more errors", validatorRunEntry.Result.ValidatorId);

            return(BuildDescription(title, validatorRunEntry));
        }
        public static string BuildWarningDescription(IValidatorRunEntry validatorRunEntry)
        {
            string title = string.Format("Validator {0} ran with warnings", validatorRunEntry.Result.ValidatorId);

            return(BuildDescription(title, validatorRunEntry));
        }
        public static string BuildSuccessDescription(IValidatorRunEntry validatorRunEntry)
        {
            string title = string.Format("Validator {0} ran successfully", validatorRunEntry.Result.ValidatorId);

            return(BuildDescription(title, validatorRunEntry));
        }