public bool Validate(bool consoleOnly) { Validator.ValidationResult validationResult = ValidateCore(); switch (validationResult) { case Validator.ValidationResult.OK: outputStream.WriteLine("Validation OK"); break; case Validator.ValidationResult.Warning: outputStream.Write($"Validation finished with {validationWarnings} warnings. Continue? "); bool stop = false; if (!ignoreWarnings && !consoleOnly) { ValidationResultPromptResult res = new ValidationResultPromptResult(); if (validationResultPrompt != null) { res = validationResultPrompt(xmlExceptions, true); } stop = res.stop; ignoreWarnings = res.ignoreWarnings; } else if (consoleOnly) { ExceptionDump(); } if (stop) { outputStream.WriteLine("No."); } else { outputStream.WriteLine("Yes."); } return(!stop); case Validator.ValidationResult.Error: outputStream.WriteLine("Validation finished with errors!"); if (!consoleOnly) { if (validationResultPrompt != null) { validationResultPrompt(xmlExceptions, false); } } else { ExceptionDump(); } return(false); case ValidationResult.Failed: outputStream.WriteLine("Validation failed!"); return(false); } return(true); }
static ValidationResultPromptResult ValidationResultPrompt(List <SuperXmlSchemaException> xmlExceptions, bool allowContinue) { ValidationResultForm dialog; dialog = new ValidationResultForm(xmlExceptions, allowContinue); dialog.ShowDialog(); ValidationResultPromptResult res = new ValidationResultPromptResult(); res.stop = dialog.stop; res.ignoreWarnings = dialog.ignoreWarnings; return(res); }