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); }
protected string ImportRelation(string[] row) { string name = row[1]; int left = int.Parse(row[2]); int right = int.Parse(row[3]); Validator.ValidationResult validation = Validator.Validate(name, left, right); if (validation == Validator.ValidationResult.Ok) { RelationEngine.Instance.AddRelation(name, left, right); return(string.Empty); } return("Could not import relation: " + validation.ToString()); }
public static string GetValidationText(Validator.ValidationResult validation) { string errorMessage = ""; switch (validation) { case Validator.ValidationResult.AlreadyExists: errorMessage = Translate("/relations/edit/alreadyexists"); break; case Validator.ValidationResult.NotAllowed: errorMessage = Translate("/relations/edit/notallowed"); break; default: errorMessage = validation.ToString(); break; } return(errorMessage); }
public RestResult Post(string ruleName, string relationPageLeftString, string relationPageRightString, string ruleDirection) { int relationPageLeft = 0; int relationPageRight = 0; bool isLeftRule = true; string relationRule = ""; //string[] newRelationValues = (newRelation.ToString()).Split(';'); try { relationRule = ruleName; relationPageLeft = int.Parse(relationPageLeftString.Split('_')[0]); relationPageRight = EPiServer.Web.PermanentLinkUtility.FindContentReference( EPiServer.Web.PermanentLinkUtility.GetGuid(relationPageRightString)).ID; isLeftRule = ruleDirection == "left"; } catch (Exception e) { return(Rest("Could not parse relation: " + e.Message)); } PageReference contextPage = new PageReference(relationPageLeft); if (contextPage != null && relationPageRight != null && relationPageLeft != null) { try { if (isLeftRule) { Validator.ValidationResult validation = Validator.Validate(relationRule, contextPage.ID, relationPageRight); if (validation == Validator.ValidationResult.Ok) { RelationEngine.Instance.AddRelation(relationRule, contextPage.ID, relationPageRight); } else { string errorMessage = TranslationHelper.GetValidationText(validation); return(Rest(TranslationHelper.Translate("/relations/edit/error") + errorMessage)); } } else { Validator.ValidationResult validation = Validator.Validate(relationRule, relationPageRight, contextPage.ID); if (validation == Validator.ValidationResult.Ok) { RelationEngine.Instance.AddRelation(relationRule, relationPageRight, contextPage.ID); } else { string errorMessage = TranslationHelper.GetValidationText(validation); return(Rest(TranslationHelper.Translate("/relations/edit/error") + errorMessage)); } } } catch (Exception e) { return(Rest(TranslationHelper.Translate("/relations/edit/error") + e.Message)); } } return(Rest(TranslationHelper.Translate("/relations/edit/added"))); }