private void btnConfirmarLlegada_Click(object sender, EventArgs e)
        {
            if (ValidateChildren())
            {
                var camposValores = gdDataBase.newParameters();
                camposValores.Add("matricula", new gdDataBase.ValorTipo(textBoxMatricula.Text, SqlDbType.NVarChar));
                camposValores.Add("origen", new gdDataBase.ValorTipo(comboBoxOrigen.SelectedValue, SqlDbType.NVarChar));
                camposValores.Add("destino", new gdDataBase.ValorTipo(comboBoxDestino.SelectedValue, SqlDbType.NVarChar));
                camposValores.Add("fecha_llegada", new gdDataBase.ValorTipo(fechaCoso.Value, SqlDbType.DateTime));
                var resultadoEjecucion = new gdDataBase().Exec("ÑUFLO.RegistrarLlegada", camposValores, null);

                if (!resultadoEjecucion.huboError() || resultadoEjecucion.codError() == 60021){
                    FormInformeYValidacion informeYValidacion = new FormInformeYValidacion();
                    informeYValidacion.setAeronave(textBoxMatricula.Text);
                    informeYValidacion.setFecha(fechaCoso.Value);
                    informeYValidacion.setOrigen(comboBoxOrigen.SelectedValue.ToString());
                    informeYValidacion.setDestino(comboBoxDestino.SelectedValue.ToString());

                    Dictionary<int,String> errorMessage = new Dictionary<int,String>();

                    errorMessage.Add(60021, "[Error atrapado]La Aeronave no arribo al destino esperado");

                    new gdDataBase().Exec("ÑUFLO.ValidarDestinoLlegada", camposValores, errorMessage);
                    informeYValidacion.Show();
                }
            }
        }
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            var senderGrid = (DataGridView)sender;
            var index = e.ColumnIndex;

            if (senderGrid.Columns[index] is DataGridViewButtonColumn &&
                e.RowIndex >= 0)
            {
                if (index == senderGrid.Columns["Eliminar"].Index)
                {
                    var camposValores = gdDataBase.newParameters();
                    Dictionary<int, String> errorMensaje = new Dictionary<int, string>();

                    camposValores.Add("id_ruta",new gdDataBase.ValorTipo(senderGrid.CurrentRow.Cells["id ruta"].Value,SqlDbType.Int));
                    camposValores.Add("hoy", new gdDataBase.ValorTipo(Config.fecha.ToString(), SqlDbType.DateTime));

                    errorMensaje.Add(0, "Ignorar errores");

                    var resultadoEjecucion = new gdDataBase().Exec("ÑUFLO.DeleteRutaAerea",camposValores,errorMensaje,"El registro ha sido eliminado correctamente");

                    if (resultadoEjecucion.huboError())
                    {
                        if (resultadoEjecucion.codError() == 60035)
                            MessageBox.Show("Algunos vuelos de la Ruta ya fueron realizados, dichos vuelos no seran cancelados", "Cuidado", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        else
                            resultadoEjecucion.mostrarErrorSqlProducido();
                    }

                    consultarConFiltro();
                }

                else if (index == senderGrid.Columns["Modificar"].Index)
                {
                    var formAltaRuta = new FormAltaRuta();
                    formAltaRuta.setId((int)senderGrid.CurrentRow.Cells["id ruta"].Value);
                    formAltaRuta.setCodRuta(senderGrid.CurrentRow.Cells["Codigo de ruta"].Value.ToString());
                    formAltaRuta.setOrigen((int)senderGrid.CurrentRow.Cells["id origen"].Value - 1);
                    formAltaRuta.setDestino((int)senderGrid.CurrentRow.Cells["id destino"].Value - 1);
                    formAltaRuta.setServicio((int)senderGrid.CurrentRow.Cells["id servicio"].Value - 1);
                    formAltaRuta.setPrecioBasePeso(Double.Parse(senderGrid.CurrentRow.Cells["Precio base por peso"].Value.ToString()));
                    formAltaRuta.setPrecioBasePasaje(Double.Parse(senderGrid.CurrentRow.Cells["Precio base por pasaje"].Value.ToString()));
                    formAltaRuta.actualizarLabels();
                    formAltaRuta.esModificacion();
                    formAltaRuta.setPadre(this);
                    formAltaRuta.Show();
                    //((DataRowView)rutaAereaBindingSource.Current)
                }
                else ;
            }
        }
        private void btnModificarAeronave_Click(object sender, EventArgs e)
        {
            int cantidadVentanilla, cantidadPasillo;

            DataGridViewRow filaSeleccionada = getFilaSeleccionada();

            Dictionary<String, gdDataBase.ValorTipo> camposValores = new Dictionary<string, gdDataBase.ValorTipo>();
            Dictionary<int, String> errorMensaje = new Dictionary<int, string>();

            errorMensaje.Add(60017, "No se puede modificar una aeronave con viajes pendientes");

            camposValores.Clear();
            camposValores.Add("id_aeronave", new gdDataBase.ValorTipo(filaSeleccionada.Cells[0].FormattedValue.ToString(), SqlDbType.Int));

            var ejecucion = new gdDataBase().Exec("ÑUFLO.ValidarAeronavesSinViajes", camposValores, errorMensaje, null);

            if (!ejecucion.huboError())
            {
                FormAltaAeronave faa = new FormAltaAeronave();

                faa.setPadre(this);
                faa.setFilaDeAeronaveSeleccionada(filaSeleccionada);

                var ds = new gdDataBase().ExecAndGetDataSet("ÑUFLO.CantidadButacasVentanillaPasillo", camposValores, null);
                cantidadVentanilla = Convert.ToInt32(ds.Tables[0].Rows[0].ItemArray[0].ToString());
                cantidadPasillo = Convert.ToInt32(ds.Tables[1].Rows[0].ItemArray[0].ToString());

                faa.setButacasVentanilla(cantidadVentanilla);
                faa.setButacasPasillo(cantidadPasillo);

                faa.Show();
            }
        }