public ArrayList Buscar_Funciones_Para_Una_Peli(int idPeli, String dia) { ArrayList TodasLasFunciones = new ArrayList(); Funcion_Sala funcionSala; string consulta = "Select Distinct fs.id, f.tipo,f.hora_fecha,s.nro,f.id,p.nombre " + "from Pelicula p,Funcion f, funcion_sala fs,sala s " + "where CONVERT(date, Hora_Fecha)= '" + dia + "' and fk_Id_pelicula = " + idPeli + " and fs.fk_Id_Funcion = f.id and fs.fk_Nro_Sala = s.Nro and p.Id=f.fk_Id_pelicula " + "order by f.tipo, f.Hora_Fecha"; conexion = new SqlConnection(cadenaConexion); SqlCommand comando = new SqlCommand(consulta, conexion); conexion.Open(); SqlDataReader reader = comando.ExecuteReader(); while (reader.Read()) { funcionSala = new Funcion_Sala(); funcionSala.Id_FuncionSala = reader.GetInt32(0); funcionSala.Tipo = reader.GetString(1); funcionSala.Fecha_Hora = reader.GetDateTime(2); funcionSala.Nro_Sala = reader.GetInt32(3); funcionSala.Id_Funcion = reader.GetInt32(4); funcionSala.NombrePelicula = reader.GetString(5); TodasLasFunciones.Add(funcionSala); } reader.Close(); conexion.Close(); return(TodasLasFunciones); }
//Evento click de todos los botones dinamicos creados private void NuevoBoton_Click(object sender, EventArgs e) { Button btn = sender as Button; int indice = Convert.ToInt32(btn.Name); Funcion_Sala funcionSala = new Funcion_Sala(); funcionSala = (Funcion_Sala)listaFuncionesSala[indice]; int i = funcionSala.Id_FuncionSala; Butacas butaca = new Butacas(i, funcionSala.Nro_Sala, listaButacasSeleccionadas, funcionSala.Tipo, empleado, funcionSala.Fecha_Hora, funcionSala.NombrePelicula); butaca.pasado += new Butacas.pasar(Butaca_pasado); butaca.ShowDialog(); crearListaDetalles(); lblPrecioTotal.Text = total().ToString(); }
//Muestra las funciones de la pelicula seleccionada en el comboBox private void cmbPelicula_SelectedIndexChanged(object sender, EventArgs e) { label7.Visible = true; label3.Visible = true; int idPeli = obtener_IdPeli(cmbPelicula.Text); //inserta imagen en el pictureBox desde la BD Conexion_Consulta consulta = new Conexion_Consulta(); byte[] datosImagen = consulta.Obtener_Imagen_C(idPeli); MemoryStream ms = new MemoryStream(datosImagen); picCartelera.Image = Image.FromStream(ms); //inserta los datos de genero y clasificacion en los respectivos labels foreach (Pelicula peli in listaPelis) { if (idPeli == peli.id) { lblGenero.Text = peli.genero; lblClasifi.Text = peli.clasificacion; break; } } //crea botones en el form segĂșn la cantidad de horarios y del tipo(2D o 3D) de la //pelicula elejida listaFuncionesSala = consulta.Buscar_Funciones_Para_Una_Peli(idPeli, dtpCartelera.Value.ToString("yyyy-MM-dd")); bool cambioTipoFuncion = false; bool tipoFuncionCambiado = false; /////////////////////////// int posicionX = 240, posicionY = 291, saltarFila = 2; ////////////////////////////////// Funcion_Sala funcionSala = new Funcion_Sala(); funcionSala = (Funcion_Sala)listaFuncionesSala[0]; string tipoFuncion = funcionSala.Tipo; eliminarBotonesCreados(); for (int i = 0; i < listaFuncionesSala.Count; i++) { funcionSala = new Funcion_Sala(); funcionSala = (Funcion_Sala)listaFuncionesSala[i]; if (funcionSala.Tipo.Equals(tipoFuncion) && !cambioTipoFuncion) { lblTipoFuncion.Text = funcionSala.Tipo + " DOBLADA"; lblTipoFuncion.Visible = true; lblTipoFuncion2.Visible = false; } else if (!tipoFuncionCambiado) { lblTipoFuncion2.Text = funcionSala.Tipo + " DOBLADA"; lblTipoFuncion2.Visible = true; cambioTipoFuncion = true; tipoFuncionCambiado = true; posicionY += 40; posicionX = 240; lblTipoFuncion2.Location = new Point(posicionX, posicionY); posicionY += 32; posicionX = 240; saltarFila = i + 3; } //agregando botones Crear_Boton(i, funcionSala.Fecha_Hora.ToShortTimeString(), funcionSala.Nro_Sala.ToString(), posicionX, posicionY); posicionX += 95; if (i == saltarFila) { saltarFila += 3; posicionY += 25; posicionX = 240; } tipoFuncion = funcionSala.Tipo;//para actualizar el tipo de funcion } }