Exemplo n.º 1
0
        //Guarda el valor de un campo que pertenece a un modelo
        //ModeloBase.GuardarCampoValor(usuario,"nombre"."rosario")
        //usuario.GuardarNombre("rosario")
        public static Boolean GuardarCampoValor(ModeloFactory objeto, String campo, String valor)
        {
            //TODO---->>> modificar campos
            TextInfo   textInfo = (new CultureInfo("es-BO", false)).TextInfo;
            MethodInfo metodo   = objeto.GetType().GetMethod("Guardar" + textInfo.ToTitleCase(campo));

            if (metodo != null)
            {
                ParameterInfo[] parametros = metodo.GetParameters();
                if (parametros != null && parametros.Length > 0)
                {
                    String parametroTipoNombre = parametros[0].ParameterType.Name;
                    Object parametroValor      = null;
                    switch (parametroTipoNombre)
                    {
                    case "Int32":
                        parametroValor = Int32.Parse(valor);
                        break;

                    case "Modelo.Usuario":
                        //parametroValor = Int32.Parse(valor);
                        break;

                    default:
                        parametroValor = valor;
                        break;
                    }


                    metodo.Invoke(objeto, new object[] { parametroValor });
                }
                return(true);
            }
            return(false);
        }
Exemplo n.º 2
0
        //Se obtiene un valor de un campo de un objeto enviandole solamente el nombre
        // Si el objeto es Rol... y le queremos obtener el valor del campo nombre
        //ModeloBase.ObtenerCampoValor(rol,"nombre");
        public static Object ObtenerCampoValor(ModeloFactory objeto, String campo)
        {
            //ToTitleCase ---> PascalCase
            TextInfo   textInfo = (new CultureInfo("es-BO", false)).TextInfo;
            MethodInfo metodo   = objeto.GetType().GetMethod("Obtener" + textInfo.ToTitleCase(campo));

            if (metodo != null)
            {
                return(metodo.Invoke(objeto, null));
            }
            return(null);
        }