示例#1
0
        public bool ExisteSala(Salas sala)
        {
            bool existeSala = false;

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

                comando.CommandText = "SELECT COUNT(*) FROM salas WHERE numero='" + sala.Numero + "' ";
                existeSala          = Convert.ToInt32(comando.ExecuteScalar()) != 0;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Existen salas en la BD: " + ex.Message, "ERROR", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            finally
            {
                try
                {
                    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(existeSala);
        }
示例#2
0
 public Sesion(int id,
               Pelicula pelicula,
               Salas sala,
               string hora)
 {
     Id       = id;
     Pelicula = pelicula;
     Sala     = sala;
     Hora     = hora;
 }
示例#3
0
        public void InsertaSala(Salas sala)
        {
            try
            {
                if (ExisteSala(sala))
                {
                    MessageBox.Show("Ya existe una sala con el mismo número.", "Advertencia", MessageBoxButton.OK, MessageBoxImage.Warning);
                }
                else
                {
                    SqliteCommand comando;
                    Conexion.Open();
                    comando = Conexion.CreateCommand();
                    comando.Parameters.Add("@id", SqliteType.Integer);
                    comando.Parameters.Add("@disponible", SqliteType.Integer);
                    comando.Parameters.Add("@capacidad", SqliteType.Integer);
                    comando.Parameters.Add("@numero", SqliteType.Text);
                    comando.CommandText = "INSERT INTO salas VALUES(@id, @numero, @capacidad, @disponible)";


                    comando.Parameters["@id"].Value         = sala.Id;
                    comando.Parameters["@numero"].Value     = sala.Numero;
                    comando.Parameters["@capacidad"].Value  = sala.Capacidad;
                    comando.Parameters["@disponible"].Value = (sala.Disponible ? 1 : 0);
                    comando.ExecuteNonQuery();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Insertar sala en la BD: " + ex.Message, "ERROR", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            finally
            {
                try
                {
                    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);
                }
            }
        }
示例#4
0
        public void ActualizaSala(Salas sala)
        {
            try
            {
                SqliteCommand comando;
                Conexion.Open();
                comando = Conexion.CreateCommand();

                comando.CommandText = "UPDATE salas SET numero=@numero, capacidad=@capacidad, disponible=@disponible WHERE idSala=@idSala";
                comando.Parameters.Add("@idSala", SqliteType.Integer);
                comando.Parameters.Add("@numero", SqliteType.Text);
                comando.Parameters.Add("@capacidad", SqliteType.Integer);
                comando.Parameters.Add("@disponible", SqliteType.Integer);
                comando.Parameters["@idSala"].Value     = sala.Id;
                comando.Parameters["@numero"].Value     = sala.Numero;
                comando.Parameters["@capacidad"].Value  = sala.Capacidad;
                comando.Parameters["@disponible"].Value = sala.Disponible ? 1 : 0;
                comando.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Actualizar salas en la BD: " + ex.Message, "ERROR", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            finally
            {
                try
                {
                    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);
                }
            }
        }
示例#5
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);
        }
示例#6
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);
        }