Exemple #1
0
        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());
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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")));
        }