private static void CruzarBotonData(List <AsientoZona> lAsientoTotal, Form form) { int contador = 0; List <Control> listaBotonAsiento = GetAll(form, typeof(Button)).Where(tx => tx.Name.Substring(0, 1) == "A").ToList(); if (listaBotonAsiento.Count != lAsientoTotal.Count) { MessageBox.Show("No se han configurado todos los asientos para la obra", "Verificar", MessageBoxButtons.OK, MessageBoxIcon.Warning); form.Close(); return; } foreach (Button btn in listaBotonAsiento) { int IdAsiento; bool isNumber = int.TryParse(btn.Name.Replace("A", ""), out IdAsiento); if (isNumber) { contador++; AsientoZona asiento = lAsientoTotal.Where(tx => tx.Asiento.IdAsiento == IdAsiento).FirstOrDefault(); if (asiento != null) { PintarAsiento(btn, asiento); } else { MessageBox.Show("Asiento no encontrado en la BD " + IdAsiento, "Verifique que todas las zonas tengan una tarifa"); } } } if (contador != lAsientoTotal.Count) { MessageBox.Show("Incongruencia en asignacion, Botones: " + contador + " Asientos en BD: " + lAsientoTotal.Count); } }
private static void ReservarAsientoClick(object sender, EventArgs e) { Button btnAsiento = (Button)sender; AsientoZona asiento = (AsientoZona)btnAsiento.Tag; ReservarAsiento(btnAsiento, asiento); }
private async static void ReservarAsiento(Button btnAsiento, AsientoZona asiento) { Animacion.ShowLoader(formTemp); if (asiento.EstadoTemporal == "" || asiento.EstadoTemporal == null) { Boolean exito = await servicio.InserAsientoTemporalAsync(reservaTemp.Funcion.IdFuncion, asiento.Asiento.IdAsiento, reservaTemp.FechaReserva, tokenTemp); if (exito) { asiento.ColorTemporal = btnAsiento.BackColor; asiento.EstadoTemporal = "R"; btnAsiento.Tag = asiento; btnAsiento.BackColor = System.Drawing.Color.Green; asientosReserva.Add(asiento); } else { AsignarListaOcupada(lOcupados); } } else { Boolean exito = await servicio.EliminarAsientoTemporalAsync(reservaTemp.Funcion.IdFuncion, asiento.Asiento.IdAsiento, reservaTemp.FechaReserva, tokenTemp); if (exito) { asiento.EstadoTemporal = ""; btnAsiento.BackColor = asiento.ColorTemporal; btnAsiento.Tag = asiento; asientosReserva.Remove(asiento); } } Animacion.HideLoader(formTemp); }
public List <AsientoZona> ListarTeatroAsiento(int idObra) { List <AsientoZona> lAsientoZona = new List <AsientoZona>(); AsientoZona asiento = null; string sql = "SELECT * FROM (TH_ZONA Z INNER JOIN TH_ASIENTO_ZONA AZ ON AZ.IDZONA = Z.IDZONA) INNER JOIN TH_ASIENTO A ON A.IDASIENTO = AZ.IDASIENTO WHERE Z.IDOBRA = @IdObra AND Z.ESTADO = 'A'"; OleDbParameter pIdObra = UtilDA.SetParameters("@IdObra", OleDbType.Integer, idObra); using (var dtr = UtilDA.ExecuteReader(cmd, CommandType.Text, sql, cnx, pIdObra)) { while (dtr.Read()) { asiento = new AsientoZona() { Zona = new Zona() { IdZona = DataConvert.ToInt(dtr["Z.IdZona"]), Nombre = DataConvert.ToString(dtr["Nombre"]), Descripcion = DataConvert.ToString(dtr["Z.Descripcion"]), Estado = DataConvert.ToString(dtr["Z.Estado"]), UsuarioCreacion = DataConvert.ToString(dtr["Z.UserCrea"]), FechaCreacion = DataConvert.ToDateTime(dtr["Z.FechaCrea"]), FechaModificacion = DataConvert.ToDateTime(dtr["Z.FechaMod"]), UsuarioModificacion = DataConvert.ToString(dtr["Z.UserMod"]), Precio = DataConvert.ToSingle(dtr["Precio"]), R = DataConvert.ToInt(dtr["R"]), G = DataConvert.ToInt(dtr["G"]), B = DataConvert.ToInt(dtr["B"]), }, IdAsientoZona = DataConvert.ToInt(dtr["IdAsientoZona"]), Disponible = DataConvert.ToString(dtr["Disponible"]), FechaCreacion = DataConvert.ToDateTime(dtr["AZ.FechaCrea"]), UsuarioCreacion = DataConvert.ToString(dtr["AZ.UserCrea"]), FechaModificacion = DataConvert.ToDateTime(dtr["AZ.FechaMod"]), UsuarioModificacion = DataConvert.ToString(dtr["AZ.UserMod"]), Asiento = new Asiento() { IdAsiento = DataConvert.ToInt(dtr["A.IdAsiento"]), Descripcion = DataConvert.ToString(dtr["A.Descripcion"]), Fila = DataConvert.ToString(dtr["Fila"]), FechaCreacion = DataConvert.ToDateTime(dtr["A.FechaCrea"]), UsuarioCreacion = DataConvert.ToString(dtr["A.UserCrea"]), FechaModificacion = DataConvert.ToDateTime(dtr["A.FechaMod"]), UsuarioModificacion = DataConvert.ToString(dtr["A.UserMod"]) } }; lAsientoZona.Add(asiento); } } UtilDA.Close(cnx); return(lAsientoZona); }
private static void PintarAsiento(Button btn, AsientoZona asiento) { string estado = asiento.Disponible; switch (estado) { case "N": btn.BackColor = System.Drawing.Color.LightGray; btn.Enabled = false; btn.Text = "X"; break; case "S": btn.Text = asiento.Asiento.Descripcion; btn.BackColor = System.Drawing.Color.FromArgb(asiento.Zona.R, asiento.Zona.G, asiento.Zona.B); break; } btn.Tag = asiento; btn.MouseClick += new MouseEventHandler(ReservarAsientoClick); }
public List <AsientoZona> ListAsientoByZona(int IdZona) { List <AsientoZona> listaAsiento = new List <AsientoZona>(); AsientoZona asiento = null; string sql = "SELECT * FROM TH_ASIENTO_ZONA AZ INNER JOIN TH_ASIENTO A ON A.IDASIENTO = AZ.IDASIENTO WHERE AZ.IdZona = @IdZona ORDER BY A.IdAsiento"; OleDbParameter pIdZona = UtilDA.SetParameters("@IdZona", OleDbType.Integer, IdZona); using (var dtr = UtilDA.ExecuteReader(cmd, CommandType.Text, sql, cnx, pIdZona)) { while (dtr.Read()) { asiento = new AsientoZona() { IdAsientoZona = DataConvert.ToInt(dtr["IdAsientoZona"]), IdAsiento = DataConvert.ToInt(dtr["A.IdAsiento"]), Asiento = new Asiento() { IdAsiento = DataConvert.ToInt(dtr["A.IdAsiento"]), Descripcion = DataConvert.ToString(dtr["Descripcion"]), Fila = DataConvert.ToString(dtr["Fila"]), FechaCreacion = DataConvert.ToDateTime(dtr["A.FechaCrea"]), UsuarioCreacion = DataConvert.ToString(dtr["A.UserCrea"]) }, Disponible = DataConvert.ToString(dtr["Disponible"]), FechaCreacion = DataConvert.ToDateTime(dtr["AZ.FechaCrea"]), FechaModificacion = DataConvert.ToDateTime(dtr["AZ.FechaMod"]), UsuarioCreacion = DataConvert.ToString(dtr["AZ.UserCrea"]), UsuarioModificacion = DataConvert.ToString(dtr["AZ.UserMod"]) }; listaAsiento.Add(asiento); } } UtilDA.Close(cnx); return(listaAsiento); }