Exemplo n.º 1
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);
        }
Exemplo n.º 2
0
 protected internal Moneda(Numero monto, Monedas tipo)
 {
     this.tipoDeMoneda_Renamed = tipo;
     this.montoEntero          = monto;
 }
Exemplo n.º 3
0
 public Denominacion(Numero numero, Monedas tipoDeMoneda) : base(numero, tipoDeMoneda)
 {
 }