Ejemplo n.º 1
0
        /// <summary>
        ///		Evalúa una expresión
        /// </summary>
        public VariableModel EvaluateExpression(ContextStackModel context, string code, out string error)
        {
            ExpressionsCollection expressions = new Parser().Parse(code, out error);

            if (string.IsNullOrEmpty(error))
            {
                return(new ExpressionCompute().Evaluate(context.Actual, expressions, out error));
            }
            else
            {
                return(null);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        ///		Evalúa una condición
        /// </summary>
        public bool EvaluateCondition(ContextStackModel context, string code, out string error)
        {
            bool          result   = false;
            VariableModel variable = EvaluateExpression(context, code, out error);

            // Obtiene el valor lógico de la condición
            if (string.IsNullOrEmpty(error))
            {
                if (variable.Type != VariableModel.VariableType.Boolean)
                {
                    error = "Result isn't a logical value";
                }
                else
                {
                    result = (bool)variable.Value;
                }
            }
            // Devuelve el resultado
            return(result);
        }