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")); }
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(); } }
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)); }