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