Exemple #1
0
        public EquationValidationResult ValidateEquation(ValidateEquationModel model, BridgeCareContext db)
        {
            CalculateEvaluate calcEval = new CalculateEvaluate();

            if (model.IsPiecewise)
            {
                return(checkPiecewise(model.Equation));
            }

            try
            {
                string equation = model.Equation.Trim();
                equation = checkAttributes(equation, model.IsFunction, db);

                if (model.IsFunction)
                {
                    calcEval.BuildFunctionClass(equation, "double", null);
                }
                else
                {
                    calcEval.BuildTemporaryClass(equation, true);
                }

                calcEval.CompileAssembly();
            }
            catch (Exception e)
            {
                return(new EquationValidationResult(false, e.Message));
            }

            return(new EquationValidationResult(true, "Success"));
        }
Exemple #2
0
        public void ValidateEquation(ValidateEquationModel model, BridgeCareContext db)
        {
            CalculateEvaluate calcEval = new CalculateEvaluate();

            if (model.IsPiecewise)
            {
                checkPiecewise(model.Equation);
            }
            else
            {
                string equation = model.Equation.Trim();
                equation = checkAttributes(equation, model.IsFunction, db);

                if (model.IsFunction)
                {
                    calcEval.BuildFunctionClass(equation, "double", null);
                }
                else
                {
                    calcEval.BuildTemporaryClass(equation, true);
                }

                calcEval.CompileAssembly();
            }
        }
Exemple #3
0
        public CriteriaValidationResult ValidateCriteria(string data, BridgeCareContext db)
        {
            string criteria = data.Replace("|", "'").ToUpper();

            criteria = checkAttributes(criteria, true, db);
            CalculateEvaluate calcEval = new CalculateEvaluate();

            calcEval.BuildClass(criteria, false);
            calcEval.CompileAssembly();

            return(NumberOfHits(criteria, db));
        }