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