コード例 #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"));
        }
コード例 #2
0
ファイル: Validation.cs プロジェクト: radtek/iAM
        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();
            }
        }