示例#1
0
        public Sesion ObtenSesion(int idSesion)
        {
            Sesion           sesion = null;
            SqliteDataReader datos  = null;

            try
            {
                SqliteCommand comando;

                comando = Conexion.CreateCommand();

                comando.CommandText = "SELECT idSesion, " +
                                      "peliculas.idPelicula AS 'idPelicula', " +
                                      "peliculas.titulo AS 'titulo'," +
                                      "peliculas.cartel AS 'cartel'," +
                                      "peliculas.genero AS 'genero'," +
                                      "peliculas.año AS 'año'," +
                                      "peliculas.calificacion AS 'calificacion'," +
                                      "salas.idSala AS 'idSala'," +
                                      "salas.numero AS 'nombreSala'," +
                                      "salas.capacidad AS 'capacidad'," +
                                      "salas.disponible AS 'disponible'," +
                                      "hora " +
                                      "FROM    peliculas JOIN sesiones JOIN salas " +
                                      "ON  sesiones.pelicula = peliculas.idPelicula " +
                                      "AND sesiones.sala = salas.idSala " +
                                      "WHERE sesiones.IdSesion=" + idSesion;
                datos = comando.ExecuteReader();

                if (datos.HasRows)
                {
                    int    idPelicula, idSala, capacidad, año;
                    string hora, tituloPelicula, cartel, genero, nombreSala, calificacion;
                    bool   disponible;
                    if (datos.Read())
                    {
                        idPelicula     = datos.GetInt32(datos.GetOrdinal("idPelicula"));
                        tituloPelicula = (string)datos["titulo"];
                        cartel         = (string)datos["cartel"];
                        genero         = (string)datos["genero"];
                        año            = datos.GetInt32(datos.GetOrdinal("año"));
                        calificacion   = (string)datos["calificacion"];
                        Pelicula p = new Pelicula(idPelicula, tituloPelicula, cartel, año, genero, calificacion);

                        idSala     = datos.GetInt32(datos.GetOrdinal("idSala"));
                        nombreSala = (string)datos["nombreSala"];
                        capacidad  = datos.GetInt32(datos.GetOrdinal("capacidad"));
                        disponible = datos.GetInt32(datos.GetOrdinal("disponible")) != 0;
                        Salas s = new Salas(idSala, disponible, capacidad, nombreSala);

                        hora = (string)datos["hora"];

                        sesion = new Sesion(idSesion, p, s, hora);
                    }
                    datos.Close();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Leer sesion en la BD: " + ex.Message, "ERROR", MessageBoxButton.OK, MessageBoxImage.Error);
            }

            return(sesion);
        }
示例#2
0
        public ObservableCollection <Sesion> ObtenSesiones()
        {
            ObservableCollection <Sesion> sesiones = new ObservableCollection <Sesion>();
            SqliteDataReader datos = null;

            try
            {
                SqliteCommand comando;
                Conexion.Open();
                comando = Conexion.CreateCommand();

                comando.CommandText = "SELECT idSesion, " +
                                      "peliculas.idPelicula AS 'idPelicula', " +
                                      "peliculas.titulo AS 'titulo'," +
                                      "peliculas.cartel AS 'cartel'," +
                                      "peliculas.genero AS 'genero'," +
                                      "peliculas.año AS 'año'," +
                                      "peliculas.calificacion AS 'calificacion'," +
                                      "salas.idSala AS 'idSala'," +
                                      "salas.numero AS 'nombreSala'," +
                                      "salas.capacidad AS 'capacidad'," +
                                      "salas.disponible AS 'disponible'," +
                                      "hora " +
                                      "FROM    peliculas JOIN sesiones JOIN salas " +
                                      "ON  sesiones.pelicula = peliculas.idPelicula " +
                                      "AND sesiones.sala = salas.idSala; ";
                datos = comando.ExecuteReader();

                if (datos.HasRows)
                {
                    int    idSesion, idPelicula, idSala, capacidad, año;
                    string hora, tituloPelicula, cartel, genero, nombreSala, calificacion;
                    bool   disponible;

                    while (datos.Read())
                    {
                        idPelicula     = datos.GetInt32(datos.GetOrdinal("idPelicula"));
                        tituloPelicula = (string)datos["titulo"];
                        cartel         = (string)datos["cartel"];
                        genero         = (string)datos["genero"];
                        año            = datos.GetInt32(datos.GetOrdinal("año"));
                        calificacion   = (string)datos["calificacion"];
                        Pelicula p = new Pelicula(idPelicula, tituloPelicula, cartel, año, genero, calificacion);

                        idSala     = datos.GetInt32(datos.GetOrdinal("idSala"));
                        nombreSala = (string)datos["nombreSala"];
                        capacidad  = datos.GetInt32(datos.GetOrdinal("capacidad"));
                        disponible = datos.GetInt32(datos.GetOrdinal("disponible")) != 0;
                        Salas s = new Salas(idSala, disponible, capacidad, nombreSala);

                        idSesion = datos.GetInt32(datos.GetOrdinal("idSesion"));
                        hora     = (string)datos["hora"];


                        sesiones.Add(new Sesion(idSesion, p, s, hora));
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Leer salas en la BD: " + ex.Message, "ERROR", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            finally
            {
                try
                {
                    if (datos != null && !datos.IsClosed)
                    {
                        datos.Close();
                    }
                    if (Conexion.State == ConnectionState.Open)//si la conexión está abierta la cierro
                    {
                        Conexion.Close();
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Error al cerrar: " + ex.Message, "ERROR", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }

            return(sesiones);
        }