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"); } }
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); } } } } }