Beispiel #1
0
        public override bool Equals(object obj)
        {
            if (this == obj)
            {
                return(true);
            }
            if (obj == null)
            {
                return(false);
            }
            if (this.GetType() != obj.GetType())
            {
                return(false);
            }
            Hilera other = (Hilera)obj;

            if (string.ReferenceEquals(valor, null))
            {
                if (!string.ReferenceEquals(other.valor, null))
                {
                    return(false);
                }
            }
            else if (!valor.Equals(other.valor))
            {
                return(false);
            }
            return(true);
        }
Beispiel #2
0
        public static Monedas obtenerTipoDeMonto(Hilera hilera)
        {
            //TODO El PRUSD esta mal.. pues tiene 5 letras y aqui se usan fijos 3.
            string tipo = hilera.Valor.Trim().Substring(0, 3).ToUpper();

            return(monedas[tipo]);
        }
Beispiel #3
0
        public override Boolean esIgualQue(Objeto objeto)
        {
            Hilera cadena = null;

            try
            {
                cadena = (Hilera)objeto;
            }
            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(Hilera).Name, objeto.GetType().Name));
            }
            return(this.valor == cadena.valor ? Boolean.True : Boolean.False);
        }
Beispiel #4
0
        public override Objeto sumar(Objeto objeto)
        {
            Objeto resultado;

            if (objeto is Hilera)
            {
                resultado = new Hilera(valor + ((Hilera)objeto).Valor);
            }
            else if (objeto is Decimal)
            {
                resultado = new Hilera(valor + ((Decimal)objeto).Valor);
            }
            else if (objeto is Numero)
            {
                resultado = new Hilera(valor + ((Numero)objeto).Valor);
            }
            else
            {
                throw new LanguageException(string.Format("No se puede sumar un {0} a un {1}.", objeto.GetType().Name, this.GetType().Name));
            }
            return(resultado);
        }
Beispiel #5
0
 public virtual bool esIgual(Hilera literal)
 {
     return(valor.Equals(literal.valor));
 }
Beispiel #6
0
        private Objeto Boxing(object valorCSharp)
        {
            Objeto resultado = null;
            Type   tipo      = valorCSharp == null ? null : valorCSharp.GetType();

            if (tipo == typeof(bool))
            {
                resultado = (bool)valorCSharp ? Puppeteer.EventSourcing.Libraries.Boolean.True : Puppeteer.EventSourcing.Libraries.Boolean.False;
            }
            else if (tipo == typeof(double))
            {
                resultado = new Puppeteer.EventSourcing.Libraries.Decimal((double)valorCSharp);
            }
            else if (valorCSharp == null)
            {
                resultado = Puppeteer.EventSourcing.Libraries.Nulo.NULO;
            }
            else if (tipo == typeof(decimal))
            {
                resultado = new Puppeteer.EventSourcing.Libraries.Decimal((double)(decimal)valorCSharp);
            }
            else if (tipo == typeof(int))
            {
                resultado = new Puppeteer.EventSourcing.Libraries.Numero((int)valorCSharp);
            }
            else if (tipo == typeof(string))
            {
                resultado = new Puppeteer.EventSourcing.Libraries.Hilera((System.String)valorCSharp);
            }
            else if (tipo == typeof(DateTime))
            {
                DateTime f = (DateTime)valorCSharp;
                if (f.Hour == 0 && f.Minute == 0 && f.Second == 0)
                {
                    resultado = new Fecha(f.Day, f.Month, f.Year);
                }
                else
                {
                    resultado = new FechaHora(f.Day, f.Month, f.Year, f.Hour, f.Minute, f.Second);
                }
            }
            else if (tipo == typeof(List <bool>))
            {
                Lista newLista = new Lista();
                foreach (bool valor in (List <bool>)valorCSharp)
                {
                    newLista.guardarObjeto(valor ? Puppeteer.EventSourcing.Libraries.Boolean.True : Puppeteer.EventSourcing.Libraries.Boolean.False);
                }
                resultado = newLista;
            }
            else if (tipo == typeof(List <double>))
            {
                Lista newLista = new Lista();
                foreach (double valor in (List <double>)valorCSharp)
                {
                    newLista.guardarObjeto(new Puppeteer.EventSourcing.Libraries.Decimal(valor));
                }
                resultado = newLista;
            }
            else if (tipo == typeof(List <decimal>))
            {
                Lista newLista = new Lista();
                foreach (decimal valor in (List <decimal>)valorCSharp)
                {
                    newLista.guardarObjeto(new Puppeteer.EventSourcing.Libraries.Decimal((double)valor));
                }
                resultado = newLista;
            }
            else if (tipo == typeof(List <int>))
            {
                Lista newLista = new Lista();
                foreach (System.Int32 valor in (List <System.Int32>)valorCSharp)
                {
                    newLista.guardarObjeto(new Puppeteer.EventSourcing.Libraries.Numero(valor));
                }
                resultado = newLista;
            }
            else if (tipo == typeof(List <string>))
            {
                Lista newLista = new Lista();
                foreach (string valor in (List <String>)valorCSharp)
                {
                    newLista.guardarObjeto(new Hilera(valor));
                }
                resultado = newLista;
            }
            else if (tipo != null && tipo.IsGenericType && tipo.GetGenericTypeDefinition() == typeof(List <>) && tipo.GetGenericArguments().Length == 1 && typeof(Objeto).IsAssignableFrom(tipo.GetGenericArguments()[0]))
            {
                Lista newLista = new Lista();
                foreach (var valor in (IEnumerable <dynamic>)valorCSharp)
                {
                    newLista.guardarObjeto((Objeto)valor);
                }
                resultado = newLista;
            }
            else if (tipo != null && tipo.DeclaringType == typeof(System.Linq.Enumerable) && tipo.GetGenericArguments().Length == 1 && typeof(Objeto).IsAssignableFrom(tipo.GetGenericArguments()[0]))
            {
                var   x        = tipo.DeclaringType;
                Lista newLista = new Lista();
                foreach (var valor in (IEnumerable <dynamic>)valorCSharp)
                {
                    newLista.guardarObjeto((Objeto)valor);
                }
                resultado = newLista;
            }
            else
            {
                resultado = (Objeto)valorCSharp;
            }
            return(resultado);
        }
Beispiel #7
0
        public virtual Hilera demeElTipoObjetoAlQuePertenece()
        {
            Hilera valor = new Hilera(lista[0].GetType().Name);

            return(valor);
        }