/// <summary>
 /// Maneja el evento del clic en el botón "Modificar"
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnModificar_Click(object sender, RoutedEventArgs e)
 {
     if (dgDelegaciones.SelectedItem == null)
     {
         MessageBox.Show("No se ha seleccionado ninguna Delegación");
     }
     else
     {
         delegacionElegida = RecuperarDelegacion();
         ModificarDelegacionMunicipal_DireccionGeneral modificarDelegacion =
             new ModificarDelegacionMunicipal_DireccionGeneral(delegacionElegida);
         modificarDelegacion.Show();
         this.Close();
     }
 }
        /// <summary>
        /// Maneja el evento del clic en el botón "Eliminar"
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnEliminar_Click(object sender, RoutedEventArgs e)
        {
            int indiceSeleccion = dgDelegaciones.SelectedIndex;
            int idEliminar;

            if (indiceSeleccion >= 0)
            {
                DelegacionMunicipal delegacionEliminar = listaDelegaciones[indiceSeleccion];
                MessageBoxResult    resultado          = MessageBox.Show("¿Estas seguro de eliminar la delegación? " +
                                                                         delegacionEliminar.nombre + "", "Confirmar acción",
                                                                         MessageBoxButton.OKCancel);
                if (resultado == MessageBoxResult.OK)
                {
                    idEliminar = delegacionEliminar.idDelegacion;

                    RecuperarUsuariosDeDelegacion(idEliminar);

                    entidadesBD.DelegacionesMunicipales.Remove(delegacionEliminar);

                    try
                    {
                        entidadesBD.SaveChanges();
                        VaciarTabla();
                        LlenarTabla();
                    }
                    catch (DbEntityValidationException a)
                    {
                        foreach (var eve in a.EntityValidationErrors)
                        {
                            Console.WriteLine("Entidad \"{0}\" Estado \"{1}\" ",
                                              eve.Entry.Entity.GetType().Name, eve.Entry.State);
                            foreach (var ve in eve.ValidationErrors)
                            {
                                Console.WriteLine("- Propiedad: \"{0}\", Error: \"{1}\"",
                                                  ve.PropertyName, ve.ErrorMessage);
                            }
                        }
                    }
                }
            }
            else
            {
                MessageBox.Show("Para eliminar un alumno debes seleccionarlo", "Sin selección");
            }
        }
 /// <summary>
 /// Recupera una delegación elegida
 /// </summary>
 /// <returns>DelegacionMunicipal</returns>
 private DelegacionMunicipal RecuperarDelegacion()
 {
     return(delegacionElegida = listaDelegaciones.ElementAt <DelegacionMunicipal>(dgDelegaciones.SelectedIndex));
 }