예제 #1
0
        public List <Utiles> obtenerUtilesBD()
        {
            List <Utiles> listaRetorno = new List <Utiles>();

            try
            {
                SqlConnection connectionSQL = new SqlConnection(Properties.Settings.Default.Conexion);     //requiere string de collecion, que tiene ciertos parametros para hacer la conexión, eso es una serie de caracteres a modo de cadena con permisos, etc.
                /*Properties.Settings.Default.conexion permite acceder a las propiedades del proyecto y la aplicacion*/

                connectionSQL.Open();                                                                                  //Esto requiere el objeto instanciado, abre la conexion a la base de datos
                /*A partir de aqui se debe usar el lenguaje de SQL*/
                SqlCommand    comandosSQL = new SqlCommand("SELECT * FROM [Utiles].[dbo].[elementos]", connectionSQL); //Pide string a ejecutar (los comandos de consulta de SQL en modo de cadena) y el objeto de conexion
                SqlDataReader sqlRead     = comandosSQL.ExecuteReader();                                               //No tiene constructor accesible, solo puede asignarse por este comando, ExecuteReader ejecuta el comando que estaba en el parametro al instanciarl*/

                while (sqlRead.Read())                                                                                 //Mientras el dataReader tenga objetos para leer
                {
                    if (sqlRead["tipo"].ToString().CompareTo("1") == 0)
                    {
                        Lapicera lapicera = new Lapicera(sqlRead["marca"].ToString(), Convert.ToDouble(sqlRead["precio"]), sqlRead["color"].ToString(), sqlRead["trazo"].ToString());
                        listaRetorno.Add(lapicera);
                        if (lapicera._precio > 53)
                        {
                            this.ElementoAgregadoEvent(this, new CartucheraEventArgs(lapicera.ToString()));
                        }
                    }
                    else
                    {
                        Goma goma = new Goma(sqlRead["marca"].ToString(), Convert.ToDouble(sqlRead["precio"]), true);
                        listaRetorno.Add(goma);
                        if (sqlRead["soloLapiz"].ToString().CompareTo("1") == 0)
                        {
                            goma.soloLapiz = true;
                        }
                        else
                        {
                            goma.soloLapiz = false;
                        }

                        if (goma._precio > 53)
                        {
                            this.ElementoAgregadoEvent(this, new CartucheraEventArgs(goma.ToString() + DateTime.Now.ToString()));
                        }
                    }

                    // Console.WriteLine(sqlRead["id"].ToString() + " " + sqlRead["marca"].ToString() + " " + sqlRead["precio"].ToString() + " " + sqlRead["color"].ToString() + " " + sqlRead["trazo"].ToString() + " " + sqlRead["soloLapiz"].ToString() + " " + sqlRead["tipo"].ToString());
                }

                /*Se deben cerrar ambas conexiones o habrà problema al intentar volver a leerlos*/
                sqlRead.Close();       //Primero el SqlDataReader
                connectionSQL.Close(); //Luego la conexión con la base de datos
            }
            catch (Exception e) { Console.WriteLine(e.Message); }

            return(listaRetorno);
        }
예제 #2
0
        public bool DeserializarXml(string ruta)
        {
            StreamReader tr       = new StreamReader(ruta);
            Lapicera     lapicera = new Lapicera(" ", 0.0, "", "");

            try
            {
                XmlSerializer serializer = new XmlSerializer(this.GetType());
                lapicera = (Lapicera)serializer.Deserialize(tr);

                Console.WriteLine(lapicera.ToString());
                Console.ReadKey();
                tr.Close();
                return(true);
            }
            catch (Exception e)
            {
                tr.Close();

                return(false);
            }
        }