private void BtnGrabar_Click(object sender, EventArgs e)
        {
            int cant = 0;
             try {

                    #region Validaciones

                    var exceptionMessage = string.Empty;

                    if (string.IsNullOrEmpty(DtpFechaReinicio.Text))
                        exceptionMessage += "La fecha de reinicio no puede ser vacia.\n";

                    if (string.IsNullOrEmpty(DtpFechaComienzo.Text))
                        exceptionMessage += "La fecha de reinicio no puede ser vacia.\n";

                    if (DtpFechaComienzo.Value.Date == DtpFechaReinicio.Value.Date && DtpFechaComienzo.Value.Hour >= DtpFechaReinicio.Value.Hour)
                        exceptionMessage += "La fecha de reinicio tiene que ser mayor que la de baja";

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

                    #endregion

                     cant = AeronavePersistencia.BajaPorFueraDeServicio(aeronaveAModificar, DtpFechaComienzo.Value, DtpFechaReinicio.Value);
                     //Tiene que modificar un registro e insertar un registro
                     if (cant != 2)
                     {
                         var cancelarOReemplazar = new ABMCancelarOReemplazar(aeronaveAModificar, false,DtpFechaComienzo.Value,DtpFechaReinicio.Value);
                         cancelarOReemplazar.ShowDialog();

                         if (cancelarOReemplazar.accionTerminada)
                         {
                             AeronavePersistencia.DarDeBajaPorFueraDeServicio(aeronaveAModificar,DtpFechaComienzo.Value,DtpFechaReinicio.Value);
                             accionTerminada = true;
                             Close();
                         }
                     }
                     else
                     {
                         accionTerminadaDeUna = true;
                         Close();
                     }
                 }
                 catch (Exception ex)
                    {
                         MessageBox.Show(ex.Message, "Atención");
                    }
        }
Exemple #2
0
        private void DgvAeronaves_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 < 9)
                return;

            var aeronaveSeleccionada = ListaAeronaves.Find(aeronave => aeronave.Matricula == (string)DgvAeronaves.Rows[e.RowIndex].Cells[0].Value);

            if (aeronaveSeleccionada != null)
            {
                //El usuario tocó el botón de modificar
                if (e.ColumnIndex == 9)
                {
                    var insertarActualizarAeronave = new ABMInsertarActualizarAeronave(aeronaveSeleccionada,true);
                    insertarActualizarAeronave.ShowDialog();

                    //Paso NULL para volver a obtener todos los registros de la base
                    if (insertarActualizarAeronave.accionTerminada)
                        ActualizarPantalla(null);
                }
                //El usuario tocó el botón de dar de baja por vida util
                else if (e.ColumnIndex == 11)
                {
                    if (aeronaveSeleccionada.Baja_Vida_Util)
                    {
                        MessageBox.Show("No se puede puede dar de baja una aeronave que ya se encuentra dada de baja", "Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
                        return;
                    }
                    var dialogAnswer = MessageBox.Show(string.Format("Esta seguro que quiere dar de baja por fin de vida util la aeronave {0}?", aeronaveSeleccionada.Matricula), "Atención", MessageBoxButtons.YesNo);
                    if (dialogAnswer == DialogResult.Yes)
                    {
                        cant = AeronavePersistencia.BajaPorVidaUtil(aeronaveSeleccionada);
                        if ( cant == -1 || cant == 0)
                        {
                            var cancelarOReemplazar = new ABMCancelarOReemplazar(aeronaveSeleccionada, true, DateTime.Today, DateTime.Today);
                            cancelarOReemplazar.ShowDialog();

                            if (cancelarOReemplazar.accionTerminada)
                            {
                                AeronavePersistencia.DarDeBajaPorVidaUtil(aeronaveSeleccionada);
                                MessageBox.Show("La aeronave fue dada de baja por fin de vida util correctamente", "Informacion", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                ActualizarPantalla(null);
                            }
                        }
                        else
                        {
                            MessageBox.Show("La aeronave fue dada de baja por fin de vida util correctamente","Informacion",MessageBoxButtons.OK,MessageBoxIcon.Information);
                            ActualizarPantalla(null);
                        }
                    }
                }
                //El usuario toco el boton de dar baja por fuera de servicio
                else if (e.ColumnIndex == 10)
                {
                    if (aeronaveSeleccionada.Baja_Fuera_De_Servicio)
                    {
                        MessageBox.Show("No se puede puede dar de baja una aeronave que ya se encuentra dada de baja", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }

                    var dialogAnswer = MessageBox.Show(string.Format("Esta seguro que quiere dar de baja por fuera de servicio la aeronave {0}?", aeronaveSeleccionada.Matricula), "Atención", MessageBoxButtons.YesNo);
                    if (dialogAnswer == DialogResult.Yes)
                    {
                        var fueraDeServicio = new ABMFueraDeServicio(aeronaveSeleccionada);
                        fueraDeServicio.ShowDialog();

                        if (fueraDeServicio.accionTerminadaDeUna || fueraDeServicio.accionTerminada)
                        {
                            MessageBox.Show("La aeronave fue dada de baja por fuera de servicio correctamente", "Informacion", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            ActualizarPantalla(null);
                        }
                    }
                }
            }
        }