private void LblNuevo_Click(object sender, EventArgs e) { var insertarActualizarCiudad = new ABMInsertarActualizarCiudad(null); insertarActualizarCiudad.ShowDialog(); //Paso NULL para volver a obtener todos los registros de la base if (insertarActualizarCiudad.accionTerminada) ActualizarPantalla(null); }
private void DgvCiudad_CellContentClick(object sender, DataGridViewCellEventArgs e) { int cant = 0; //Solo funciona cuando el usuario hace click en los botones (columnas 1 y 2) if (e.RowIndex == -1) return; var ciudadSeleccionada = Listaciudades.Find(ciudad => ciudad.Nombre == (string)DgvCiudad.Rows[e.RowIndex].Cells[0].Value); if (ciudadSeleccionada != null) { //El usuario tocó el botón de modificar if (e.ColumnIndex == 1 ) { var insertarActualizarCiudad = new ABMInsertarActualizarCiudad(ciudadSeleccionada); insertarActualizarCiudad.ShowDialog(); //Paso NULL para volver a obtener todos los registros de la base if (insertarActualizarCiudad.accionTerminada) ActualizarPantalla(null); } else if (e.ColumnIndex == 2) { //El usuario tocó el botón de eliminar using (var transaccion = DBManager.Instance().Connection.BeginTransaction(IsolationLevel.Serializable)) { try { var dialogAnswer = MessageBox.Show(string.Format("Esta seguro que quiere eliminar la ciudad {0}?", ciudadSeleccionada.Nombre), "Atención", MessageBoxButtons.YesNo); if (dialogAnswer == DialogResult.Yes) { cant = CiudadPersistencia.Eliminar(ciudadSeleccionada, transaccion); if ( cant == -1) { transaccion.Commit(); MessageBox.Show("No se puede eliminar la ciudad ya que tiene viajes asignados", "Error"); return; } else { transaccion.Commit(); MessageBox.Show("La ciudad fue eliminada correctamente", "Atencion"); ActualizarPantalla(null); } } } catch (Exception) { transaccion.Rollback(); throw new Exception("Se produjo un error durante la eliminacion de la ciudad"); } } } } }