예제 #1
0
        public static void MostrarBienvenida()
        {
            String opcion = "";

            while (true)
            {
                System.Console.WriteLine("\t\tBIENVENIDO AL ASIGNADOR DE TAREAS");
                System.Console.WriteLine("");
                System.Console.WriteLine("\t1.Pantalla Login");
                System.Console.WriteLine("\t2.Salir");
                System.Console.WriteLine("");
                System.Console.WriteLine("Ingrese una Opcion:");
                opcion = System.Console.ReadLine();

                switch (opcion)
                {
                case "1":
                    Login.MostrarLogin();
                    break;

                default:
                    ConexionFactory.GuardarConexiones();
                    return;
                }
            }
        }
예제 #2
0
        // Update Usuario set nombre=Juana Perez,estado=Deshabilitado where id=2


        public static Boolean Modificar(Dictionary <String, String> campos, KeyValuePair <String, String> condicion, List <ModeloFactory> listaAModificar, Type tipo)
        {
            PropertyInfo[] _propiedadesClase = tipo.GetProperties();

            foreach (ModeloFactory objeto in listaAModificar)
            {
                Type         tipoObjeto = objeto.GetType();
                PropertyInfo _identificadorCondicion = tipoObjeto.GetProperty(condicion.Key);
                String       _valor = _identificadorCondicion.GetValue(objeto).ToString();
                //id=2
                //if(objeto.id==2)
                if (_valor.Equals(condicion.Value))
                {
                    //Nombre=Juana......Estado=Deshabilitado
                    foreach (PropertyInfo propiedad in _propiedadesClase)
                    {
                        foreach (KeyValuePair <String, String> campo in campos)
                        {
                            if (propiedad.Name.Equals(campo.Key))
                            {
                                propiedad.SetValue(objeto, campo.Value);
                            }
                        }
                    }
                    IConexion _conexion = ConexionFactory.DarConexion(tipo);
                    _conexion.EscribirTabla(listaAModificar);

                    return(true);
                }
            }
            return(false);
        }
예제 #3
0
        //CRUD....
        //Create Crear
        //Retreive Obtener
        //Update Modificar
        //Delete Eliminar

        //Reflection ----> Ingenieria Inversa... Analizar o modificar la estructura de un objeto

        //Id: 1
        // Nombre: Fulanito de Tal
        // Estado: Habilitado
        // Insert Usuario(id,nombre,contrasena,estado)values(1,Fulanito de tal,******,Habilitado)


        public static Boolean Crear(IModeloBase fuente)
        {
            if (fuente != null)
            {
                return(ConexionFactory.DarConexion(fuente.GetType()).Crear(fuente));
            }
            return(false);
        }
예제 #4
0
        public static Boolean Eliminar(KeyValuePair <String, String> condicion, Type tipo)
        {
            IConexion conexion = ConexionFactory.DarConexion(tipo);

            if (conexion.EliminarRegistro(condicion))
            {
                conexion.Guardar();
                return(true);
            }
            return(false);
        }
예제 #5
0
        public static List <T> Listar <T>()
        {
            IConexion _conexion = ConexionFactory.DarConexion(typeof(T));
            List <T>  _lista    = new List <T>();

            if (_conexion != null)
            {
                _lista = _conexion.LeerTabla <T>();
            }
            return(_lista);
        }
예제 #6
0
        public static List <IModeloBase> Listar(Type tipo)
        {
            IConexion          _conexion = ConexionFactory.DarConexion(tipo);
            List <IModeloBase> _lista    = new List <IModeloBase>();

            if (_conexion != null)
            {
                _lista = _conexion.LeerTabla();
            }
            return(_lista);
        }
예제 #7
0
        //CRUD....
        //Create Crear
        //Retreive Obtener
        //Update Modificar
        //Delete Eliminar

        //Reflection ----> Ingenieria Inversa... Analizar o modificar la estructura de un objeto

        //Id: 1
        // Nombre: Fulanito de Tal
        // Estado: Habilitado
        // Insert Usuario(id,nombre,contrasena,estado)values(1,Fulanito de tal,******,Habilitado)


        public static Boolean Crear(IModeloBase fuente)
        {
            if (fuente != null)
            {
                IConexion conexion          = ConexionFactory.DarConexion(fuente.GetType());
                String    llave             = fuente.darLlave();
                Boolean   esAutoIncremental = fuente.llaveEsAutoIncremental();

                if (llave != null && !llave.Equals("") && esAutoIncremental)
                {
                    PropertyInfo propiedad = fuente.GetType().GetProperty(llave);
                    if (propiedad != null && (propiedad.GetValue(fuente) == null || (propiedad.GetValue(fuente) != null && propiedad.PropertyType.Name.Equals("Int32") && propiedad.GetValue(fuente).Equals(0))))
                    {
                        int max = Int32.Parse(conexion.LeerTabla().Max(p => propiedad.GetValue(p)).ToString());
                        propiedad.SetValue(fuente, max + 1);
                    }
                }

                return(conexion.Crear(fuente));
            }
            return(false);
        }
예제 #8
0
        //CRUD....
        //Create Crear
        //Retreive Obtener
        //Update Modificar
        //Delete Eliminar

        //Reflection ----> Ingenieria Inversa... Analizar o modificar la estructura de un objeto

        //Id: 1
        // Nombre: Fulanito de Tal
        // Estado: Habilitado
        // Insert Usuario(id,nombre,contrasena,estado)values(1,Fulanito de tal,******,Habilitado)


        public static Boolean Crear(Dictionary <String, String> campos, List <IObjetoTexto> lista, Type tipo)
        {
            PropertyInfo[] _propiedadesClase = tipo.GetProperties();
            IObjetoTexto   objeto            = darInstancia(tipo);

            foreach (PropertyInfo propiedad in _propiedadesClase)
            {
                foreach (KeyValuePair <String, String> campo in campos)
                {
                    if (campo.Key.Equals(propiedad.Name))
                    {
                        propiedad.SetValue(objeto, campo.Value);
                    }
                }
            }

            lista.Add(objeto);
            ConexionFactory.DarConexion(tipo).EscribirTabla(lista);


            return(true);
        }
예제 #9
0
        public static Boolean Crear(Dictionary <String, String> campos, Type tipo)
        {
            List <IObjetoTexto> lista = Listar(tipo);

            PropertyInfo[] _propiedadesClase = tipo.GetProperties();
            IObjetoTexto   objeto            = darInstancia(tipo);

            foreach (PropertyInfo propiedad in _propiedadesClase)
            {
                foreach (KeyValuePair <String, String> campo in campos)
                {
                    if (campo.Key.Equals(propiedad.Name))
                    {
                        switch (propiedad.PropertyType.Name)
                        {
                        case "Int32":
                            propiedad.SetValue(objeto, Int32.Parse(campo.Value));
                            break;

                        case "Boolean":
                            propiedad.SetValue(objeto, Boolean.Parse(campo.Value));
                            break;

                        default:
                            propiedad.SetValue(objeto, campo.Value);
                            break;
                        }
                    }
                }
            }

            lista.Add(objeto);
            ConexionFactory.DarConexion(tipo).EscribirTabla(lista);


            return(true);
        }
예제 #10
0
 public static IModeloBase Obtener(KeyValuePair <String, String> condicion, Type tipoModelo)
 {
     return(ConexionFactory.DarConexion(tipoModelo).Obtener(condicion));
 }
예제 #11
0
 public static Boolean Modificar(Dictionary <String, String> campos, KeyValuePair <String, String> condicion, Type tipo)
 {
     return(ConexionFactory.DarConexion(tipo).Modificar(campos, condicion));
 }
예제 #12
0
 public ModeloBase()
 {
     _conexion = ConexionFactory.DarConexion(this.GetType());
 }
예제 #13
0
 public ModeloBase()  //Se pide el objeto correspondiente a cada Modelo que nos provee ConexionFactory
 {
     _conexion = ConexionFactory.DarConexion(this.GetType());
 }