public static TipoButaca ObtenerTipoPorButaca(Butaca butaca, SqlTransaction transaction)
        {
            var param = new List<SPParameter> { new SPParameter("ID_Tipo", butaca.ID_Tipo) };
            var sp = (transaction != null)
                    ? new StoreProcedure(DBQueries.TipoButaca.SPGetTipoButacaPorButaca, param, transaction)
                    : new StoreProcedure(DBQueries.TipoButaca.SPGetTipoButacaPorButaca, param);

            var tipos = sp.ExecuteReaderTransactioned<TipoButaca>(transaction);
            return tipos[0];
        }
示例#2
0
        public static int DarDeBajaButaca(Butaca butaca, SqlTransaction transaccion)
        {
            var param = new List<SPParameter>
                {
                    new SPParameter("ID_Butaca", butaca.ID),
                };

            var sp = (transaccion != null)
                        ? new StoreProcedure(DBQueries.Butaca.SPDarDeBajaButaca, param, transaccion)
                        : new StoreProcedure(DBQueries.Butaca.SPDarDeBajaButaca, param);

            return sp.ExecuteNonQuery(transaccion);
        }
示例#3
0
        public static Butaca InsertarButaca(Butaca butaca, SqlTransaction transaction)
        {
            var param = new List<SPParameter>
                {
                    new SPParameter("Numero", butaca.Numero),
                    new SPParameter("Tipo", butaca.ID_Tipo),
                    new SPParameter("ID_Aeronave", butaca.ID_Aeronave),
                };

            var sp = (transaction != null)
                        ? new StoreProcedure(DBQueries.Butaca.SPInsertarButaca, param, transaction)
                        : new StoreProcedure(DBQueries.Butaca.SPInsertarButaca, param);

            butaca.ID = (int)sp.ExecuteScalar(transaction);
            return butaca;
        }
示例#4
0
        private void BtnGrabar_Click(object sender, EventArgs e)
        {
            try
            {
                #region Validaciones

                var exceptionMessage = string.Empty;

                if (string.IsNullOrEmpty(TxtPasillo.Text))
                    exceptionMessage += "La cantidad de pasillo no puede ser vacia, si no desea tener este tipo de butacas ingrese cero.\n";

                else if (!ValidadorDeTipos.IsNumeric(TxtPasillo.Text))
                    exceptionMessage += "El valor de pasillo no es valido, debe ser un numero entero.\n";

                if (string.IsNullOrEmpty(TxtVentanilla.Text))
                    exceptionMessage += "La cantidad de ventanilla no puede ser vacia, si no desea tener este tipo de butacas ingrese cero.\n";

                else if (!ValidadorDeTipos.IsNumeric(TxtVentanilla.Text))
                    exceptionMessage += "El valor de ventanilla no es valido, debe ser un numero entero.\n";

                if (aeronaveReemplazo != null)
                {
                    if (Convert.ToInt32(TxtPasillo.Text) < cantMaxP)
                    {
                        exceptionMessage += "Los valores de pasillo no pueden superar a los de la aeronave que estoy reemplazando.\n";
                        TxtPasillo.Text = cantMaxP.ToString();
                    }

                    if (Convert.ToInt32(TxtVentanilla.Text) < cantMaxV)
                    {
                        exceptionMessage += "Los valores de ventanilla no pueden superar a los de la aeronave que estoy reemplazando.\n";
                        TxtVentanilla.Text = cantMaxV.ToString();
                    }
                }

                if (!string.IsNullOrEmpty(exceptionMessage))
                    throw new Exception(exceptionMessage);

                #endregion

                    if (aeronave != null)
                    {
                        //Alta aeronave
                        if (ult == 0)
                        {
                            #region Inserto las butacas de pasillo

                            var cantPasillo = Convert.ToInt32(TxtPasillo.Text);
                            for (int i = 1; i <= cantPasillo; i++)
                            {
                                var pasillo = new Butaca();
                                pasillo.Numero = i;
                                pasillo.ID_Tipo = ButacaPersistencia.ObtenerIdTipoPorDescripcion("Pasillo", transaccionConcurrente).ID_Tipo;
                                pasillo.ID_Aeronave = aeronave.ID;

                                ButacaPersistencia.InsertarButaca(pasillo, transaccionConcurrente);
                            }
                            #endregion

                            #region Inserto las butacas de ventanilla

                            var cantVentanilla = Convert.ToInt32(TxtVentanilla.Text);
                            for (int i = cantPasillo + 1; i <= cantPasillo + cantVentanilla; i++)
                            {
                                var ventanilla = new Butaca();
                                ventanilla.Numero = i;
                                ventanilla.ID_Tipo = ButacaPersistencia.ObtenerIdTipoPorDescripcion("Ventanilla", transaccionConcurrente).ID_Tipo;
                                ventanilla.ID_Aeronave = aeronave.ID;

                                ButacaPersistencia.InsertarButaca(ventanilla, transaccionConcurrente);
                            }
                            #endregion

                            MessageBox.Show("Butacas agregadas satisfactoriamente", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            accionTerminada = true;
                            Close();
                        }
                        else
                        {
                            //Modificacion aeronave
                            #region Inserto las butacas de pasillo
                            int i;
                            var cantPasillo = Convert.ToInt32(TxtPasillo.Text);
                            for (i = ult+1 ; i <= cantPasillo+ult; i++)
                            {
                                var pasillo = new Butaca();
                                pasillo.Numero = i;
                                pasillo.ID_Tipo = ButacaPersistencia.ObtenerIdTipoPorDescripcion("Pasillo", transaccionConcurrente).ID_Tipo;
                                pasillo.ID_Aeronave = aeronave.ID;

                                ButacaPersistencia.InsertarButaca(pasillo, transaccionConcurrente);
                            }
                            #endregion

                            #region Inserto las butacas de ventanilla

                            var cantVentanilla = Convert.ToInt32(TxtVentanilla.Text);
                            for (int j = i; j < i  + cantVentanilla; j++)
                            {
                                var ventanilla = new Butaca();
                                ventanilla.Numero = j;
                                ventanilla.ID_Tipo = ButacaPersistencia.ObtenerIdTipoPorDescripcion("Ventanilla", transaccionConcurrente).ID_Tipo;
                                ventanilla.ID_Aeronave = aeronave.ID;

                                ButacaPersistencia.InsertarButaca(ventanilla, transaccionConcurrente);
                            }
                            #endregion

                            MessageBox.Show("Butacas agregadas satisfactoriamente", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            accionTerminada = true;
                            Close();
                        }
                    }
                    else if (ult == 0)
                    {
                        AeronavePersistencia.eliminarAeronave(aeronave,transaccionConcurrente);
                        exceptionMessage += "Hubo un error al agregar las butacas, no se pudo insertar la aeronave\n";
                        accionTerminada = false;
                        Close();
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Atención");
                }
        }
示例#5
0
        private void DgvButacas_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            int cant = 0;
            //Solo funciona cuando el usuario hace click en los botones de la columnas
            if (e.RowIndex == -1 || e.ColumnIndex >= 0 && e.ColumnIndex < 3)
                return;

            butacaSeleccionada = ListaButacas.Find(butaca => butaca.Numero == Convert.ToInt32(DgvButacas.Rows[e.RowIndex].Cells[0].Value));

            if (butacaSeleccionada != null)
            {
                //El usuario tocó el botón de modificar
                if (e.ColumnIndex == 3)
                {
                    CboTipo.Enabled = true;
                    CboTipo.SelectedValue = butacaSeleccionada.ID_Tipo;
                    BtnGrabar.Enabled = true;
                }
                //El usuario tocó el botón de baja
                else if (e.ColumnIndex == 4)
                {
                    CboTipo.SelectedValue = butacaSeleccionada.ID_Tipo;
                    var dialogAnswer = MessageBox.Show("Esta seguro que desea dar de baja la butaca?", "Atención", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation);
                    if (dialogAnswer == DialogResult.Yes)
                    {
                        cant = ButacaPersistencia.DarDeBajaButaca(butacaSeleccionada, transaccionConcurrente);
                        if (cant != -1)
                        {
                            MessageBox.Show("La butaca fue dada de baja satisfactoriamente", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            ActualizarPantalla(null);
                        }
                        else
                        {
                            MessageBox.Show("La butaca no pudo darse de baja", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                }
            }
        }