Пример #1
0
        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);
        }
Пример #2
0
        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");
                        }
                    }
                }
            }
        }