MuseumsManager/MuseumsManager/MainWindow.xaml.cs
/// <summary>
/// Metodo per la modifica di ogni aspetto di una sezione: nome, descrizione, tipo e padre.
/// </summary>
Metodo per la modifica di ogni aspetto di una sezione: nome, descrizione, tipo e padre.
Metodo per la modifica di ogni aspetto di una sezione : nome descrizione tipo e padre .
private void btn_sezioni_modifica_Click(object sender, RoutedEventArgs e)
        {
            if (cmb_sezioni_selezionaSezione.SelectedIndex != -1)
            {
                List<Sezione_Tipologia> tabellaSezioneTipologia = new List<Sezione_Tipologia>(DBObject<Sezione_Tipologia>.SelectAll());
                Sezione sezioneSelezionata = (cmb_sezioni_selezionaSezione.SelectedItem as Sezione);
                List<Sezione_Tipologia> parzialeSezioneTipologia = new List<Sezione_Tipologia>();
                for (int i = 0; i < tabellaSezioneTipologia.Count; i++)
                {
                    if (sezioneSelezionata.idSezione == tabellaSezioneTipologia[i].idSezione)
                    {
                        parzialeSezioneTipologia.Add(tabellaSezioneTipologia[i]);
                    }
                }
                if (
                    !txt_sezioni_modificaNome.Text.Equals("") &&
                    !txt_sezioni_modificaDescrizione.Text.Equals("") &&
                    cmb_sezioni_modificaTipo.SelectedIndex != -1 &&
                    cmb_sezioni_modificaPadre.SelectedIndex != -1)
                {
                    DBEntity.Update<Sezione>("idSezione", sezioneSelezionata.idSezione, "Nome", txt_sezioni_modificaNome.Text, "Descrizione", txt_sezioni_modificaDescrizione.Text, "idSezionePadre", (cmb_sezioni_modificaPadre.SelectedItem as Sezione).idSezione);
                    DBRelationN2NOnlyIndexes<Sezione_Tipologia>.Delete("idSezione", sezioneSelezionata.idSezione, "idTipoSezione", parzialeSezioneTipologia.First().idTipoSezione);
                    DBObject<Sezione_Tipologia>.Insert("idSezione", sezioneSelezionata.idSezione, "idTipoSezione", (cmb_sezioni_modificaTipo.SelectedItem as TipoSezione).idTipoSezione);
                }
                else
                if (!txt_sezioni_modificaNome.Text.Equals("") &&
                    !txt_sezioni_modificaDescrizione.Text.Equals("") &&
                    cmb_sezioni_modificaTipo.SelectedIndex != -1)
                {
                    DBEntity.Update<Sezione>("idSezione", sezioneSelezionata.idSezione, "Nome", txt_sezioni_modificaNome.Text, "Descrizione", txt_sezioni_modificaDescrizione.Text);
                    DBRelationN2NOnlyIndexes<Sezione_Tipologia>.Delete("idSezione", sezioneSelezionata.idSezione, "idTipoSezione", parzialeSezioneTipologia.First().idTipoSezione);
                    DBObject<Sezione_Tipologia>.Insert("idSezione", sezioneSelezionata.idSezione, "idTipoSezione", (cmb_sezioni_modificaTipo.SelectedItem as TipoSezione).idTipoSezione);
                }
                else
                if (!txt_sezioni_modificaNome.Text.Equals("") &&
                    !txt_sezioni_modificaDescrizione.Text.Equals("") &&
                    cmb_sezioni_modificaPadre.SelectedIndex != -1)
                {
                    DBEntity.Update<Sezione>("idSezione", sezioneSelezionata.idSezione, "Nome", txt_sezioni_modificaNome.Text, "Descrizione", txt_sezioni_modificaDescrizione.Text, "idSezionePadre", (cmb_sezioni_modificaPadre.SelectedItem as Sezione).idSezione);
                }
                else if (txt_sezioni_modificaNome.Text == sezioneSelezionata.Nome && txt_sezioni_modificaDescrizione.Text == sezioneSelezionata.Descrizione)
                {
                    MessageBox.Show("Non è stata apportata alcuna modifica!", "Errore", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }
                else
                if (!txt_sezioni_modificaNome.Text.Equals("") &&
                    !txt_sezioni_modificaDescrizione.Text.Equals(""))
                {
                    DBEntity.Update<Sezione>("idSezione", sezioneSelezionata.idSezione, "Nome", txt_sezioni_modificaNome.Text, "Descrizione", txt_sezioni_modificaDescrizione.Text);
                }
                else
                {
                    MessageBox.Show("Qualche parametro non è stato compilato!", "Errore", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }
                MessageBox.Show("Sezione modificata correttamente!", "Operazione eseguita", MessageBoxButton.OK, MessageBoxImage.Information);
                lsv_riepilogo_sottosezioni.ItemsSource = null;
                cmb_sezioni_selezionaSezione.ItemsSource = null;
                setMuseumAreas();
            }
            else
                MessageBox.Show("Nessuna sezione selezionata!", "Errore", MessageBoxButton.OK, MessageBoxImage.Error);
        }
private void btn_sezioni_modifica_Click ( object sender , RoutedEventArgs e ) { if ( cmb_sezioni_selezionaSezione . SelectedIndex != - 1 ) { List < Sezione_Tipologia > tabellaSezioneTipologia = new List < Sezione_Tipologia > ( DBObject < Sezione_Tipologia > . SelectAll ( ) ) ; Sezione sezioneSelezionata = ( cmb_sezioni_selezionaSezione . SelectedItem as Sezione ) ; List < Sezione_Tipologia > parzialeSezioneTipologia = new List < Sezione_Tipologia > ( ) ; for ( int i = 0 ; i < tabellaSezioneTipologia . Count ; i ++ ) { if ( sezioneSelezionata . idSezione == tabellaSezioneTipologia [ i ] . idSezione ) { parzialeSezioneTipologia . Add ( tabellaSezioneTipologia [ i ] ) ; } } if ( ! txt_sezioni_modificaNome . Text . Equals ( " " ) && ! txt_sezioni_modificaDescrizione . Text . Equals ( " " ) && cmb_sezioni_modificaTipo . SelectedIndex != - 1 && cmb_sezioni_modificaPadre . SelectedIndex != - 1 ) { DBEntity . Update < Sezione > ( " " , sezioneSelezionata . idSezione , " " , txt_sezioni_modificaNome . Text , " " , txt_sezioni_modificaDescrizione . Text , " " , ( cmb_sezioni_modificaPadre . SelectedItem as Sezione ) . idSezione ) ; DBRelationN2NOnlyIndexes < Sezione_Tipologia > . Delete ( " " , sezioneSelezionata . idSezione , " " , parzialeSezioneTipologia . First ( ) . idTipoSezione ) ; DBObject < Sezione_Tipologia > . Insert ( " " , sezioneSelezionata . idSezione , " " , ( cmb_sezioni_modificaTipo . SelectedItem as TipoSezione ) . idTipoSezione ) ; } else if ( ! txt_sezioni_modificaNome . Text . Equals ( " " ) && ! txt_sezioni_modificaDescrizione . Text . Equals ( " " ) && cmb_sezioni_modificaTipo . SelectedIndex != - 1 ) { DBEntity . Update < Sezione > ( " " , sezioneSelezionata . idSezione , " " , txt_sezioni_modificaNome . Text , " " , txt_sezioni_modificaDescrizione . Text ) ; DBRelationN2NOnlyIndexes < Sezione_Tipologia > . Delete ( " " , sezioneSelezionata . idSezione , " " , parzialeSezioneTipologia . First ( ) . idTipoSezione ) ; DBObject < Sezione_Tipologia > . Insert ( " " , sezioneSelezionata . idSezione , " " , ( cmb_sezioni_modificaTipo . SelectedItem as TipoSezione ) . idTipoSezione ) ; } else if ( ! txt_sezioni_modificaNome . Text . Equals ( " " ) && ! txt_sezioni_modificaDescrizione . Text . Equals ( " " ) && cmb_sezioni_modificaPadre . SelectedIndex != - 1 ) { DBEntity . Update < Sezione > ( " " , sezioneSelezionata . idSezione , " " , txt_sezioni_modificaNome . Text , " " , txt_sezioni_modificaDescrizione . Text , " " , ( cmb_sezioni_modificaPadre . SelectedItem as Sezione ) . idSezione ) ; } else if ( txt_sezioni_modificaNome . Text == sezioneSelezionata . Nome && txt_sezioni_modificaDescrizione . Text == sezioneSelezionata . Descrizione ) { MessageBox . Show ( " , E , essageBoxButton. O K, essageBoxImage. E rror) ; return ; } else if ( ! txt_sezioni_modificaNome . Text . Equals ( " " ) && ! txt_sezioni_modificaDescrizione . Text . Equals ( " " ) ) { DBEntity . Update < Sezione > ( " " , sezioneSelezionata . idSezione , " " , txt_sezioni_modificaNome . Text , " " , txt_sezioni_modificaDescrizione . Text ) ; } else { MessageBox . Show ( " , E , essageBoxButton. O K, essageBoxImage. E rror) ; return ; } MessageBox . Show ( " " , " " , MessageBoxButton . OK , MessageBoxImage . Information ) ; lsv_riepilogo_sottosezioni . ItemsSource = null ; cmb_sezioni_selezionaSezione . ItemsSource = null ; setMuseumAreas ( ) ; } else MessageBox . Show ( " " , " " , MessageBoxButton . OK , MessageBoxImage . Error ) ; }
Metodo per la modifica di ogni aspetto di una sezione: nome, descrizione, tipo e padre.
Metodo per la modifica di ogni aspetto di una sezione : nome descrizione tipo e padre .
/* Metodo per trovare l'idTipoSezione interessato. Anche se la relazione nel DB è N_a_N il programma ne utilizza solo uno, quindi fa .First().
                   Per modificare un tipo di sezione specifico associato a una sezione, occorrebbe aggiungere nell'interfaccia una combobox di selezione dell'interessato da modificare. 
                */ //Controlli per scegliere la query corretta.
sender
object
e
RoutedEventArgs