示例#1
0
        public string Perform(string script)
        {
            //TODO: Esta fecha hora deberia venir de un server de Hora
            var now   = DateTime.Now;
            var ahora = new Libraries.FechaHora(now.Day, now.Month, now.Year, now.Hour, now.Minute, now.Second);

            return(Perform(script, ahora));
        }
示例#2
0
        internal string Perform(string script, Libraries.FechaHora ahora)
        {
            if (script == null)
            {
                throw new ArgumentNullException(nameof(script));
            }

            tablaDeSimbolos.GuardarVariable("Now", ahora);

            parser.EstablecerComando(script);
            Programa programa  = parser.Procesar();
            string   resultado = programa.Ejecutar();

            if (eventStorage != null)
            {
                string formatedScript = programa.Write();
                eventStorage.EscribirEnDairy(formatedScript);
            }
            return(resultado == "{}" ? "" : resultado);
        }
示例#3
0
 public override Boolean esIgualQue(Objeto objeto)
 {
     try
     {
         if (objeto is Fecha)
         {
             Fecha fecha = (Fecha)objeto;
             return(dia_Renamed == fecha.dia_Renamed && mes_Renamed == fecha.mes_Renamed && anno_Renamed == fecha.anno_Renamed ? Boolean.True : Boolean.False);
         }
         else
         {
             FechaHora fecha = (FechaHora)objeto;
             return(this.toFechaHora().esIgualQue(fecha));
         }
     }
     catch (System.InvalidCastException)
     {
         throw new LanguageException(string.Format("En la comparación se esperaba el valor de tipo [{0}] pero se encontro un valor de tipo [{1}]", typeof(Fecha).Name, objeto.GetType().Name));
     }
 }