/// <summary>
        ///		Convierte una cadena con un valor
        /// </summary>
        private object ConvertStringValue(VariableModel.VariableType type, string value)
        {
            if (string.IsNullOrEmpty(value))
            {
                return(null);
            }
            else
            {
                switch (type)
                {
                case VariableModel.VariableType.Boolean:
                    return(value.GetBool());

                case VariableModel.VariableType.Date:
                    if (value.EqualsIgnoreCase(TagDateNow))
                    {
                        return(DateTime.Now);
                    }
                    else
                    {
                        return(value.GetDateTime());
                    }

                case VariableModel.VariableType.Numeric:
                    return(value.GetDouble());

                default:
                    return(value);
                }
            }
        }
        /// <summary>
        ///		Carga una sentencia de declaración de variables
        /// </summary>
        private SentenceBase LoadSentenceDeclare(MLNode rootML, VariableModel.VariableType type)
        {
            SentenceDeclare sentence = new SentenceDeclare();

            // Asigna las propiedades
            sentence.Type  = type;
            sentence.Name  = rootML.Attributes[TagName].Value;
            sentence.Value = ConvertStringValue(type, rootML.Attributes[TagValue].Value);
            // Devuelve la sentencia
            return(sentence);
        }
Beispiel #3
0
        /// <summary>
        ///		Añade una variable
        /// </summary>
        public void Add(string name, VariableModel.VariableType type, object value)
        {
            // Normaliza el nombre
            name = Normalize(name);
            // Añade / modifica el valor
            if (Variables.ContainsKey(name))
            {
                Variables[name].Value = value;
            }
            else
            {
                VariableModel variable = new VariableModel(name, type);

                // Asigna el valor
                variable.Value = value;
                // Añade la variable a la tabla
                Variables.Add(name, variable);
            }
        }
Beispiel #4
0
        /// <summary>
        ///		Añade una variable de un tipo con el valor por defecto
        /// </summary>
        public void Add(string name, VariableModel.VariableType type)
        {
            switch (type)
            {
            case VariableModel.VariableType.Boolean:
                Add(name, false);
                break;

            case VariableModel.VariableType.Date:
                Add(name, null);
                break;

            case VariableModel.VariableType.Numeric:
                Add(name, 0);
                break;

            case VariableModel.VariableType.String:
                Add(name, string.Empty);
                break;
            }
        }
Beispiel #5
0
        /// <summary>
        ///		Añade una variable de un tipo con el valor por defecto
        /// </summary>
        public void Add(string name, VariableModel.VariableType type)
        {
            switch (type)
            {
            case VariableModel.VariableType.Boolean:
                Add(name, type, false);
                break;

            case VariableModel.VariableType.Date:
                Add(name, type, null);
                break;

            case VariableModel.VariableType.Numeric:
                Add(name, type, 0);
                break;

            case VariableModel.VariableType.String:
                Add(name, type, string.Empty);
                break;

            default:
                throw new ArgumentException("Type unknown");
            }
        }