void IndagatoModificatoHandler(object sender, DatiIndagatoEventArgs dati_evento) { // Si aggiorna l'elenco delle persone persona_binding_source.Clear(); db_connection = new Model.novus_daedalus_dbEntities(); scheda = db_connection.scheda.Find((int)Application.Current.Properties["Scheda"]); foreach (Model.persona p in scheda.persona) { if (p.Ruolo != "Difensore") persona_binding_source.Add(p); } personaDataGrid.SelectedItem = persona_binding_source.Find(item => item.Id == dati_evento.Nuova_persona.Id); personaDataGrid.Items.Refresh(); }
private void OkButtonClick(object sender, RoutedEventArgs e) { if (modalità_modifica == false) db_connection.persona.Add(p_binding_source); // Si controlla se tutti i dati obbligatori di una persona siano presenti if (!p_binding_source.IsValid) { MessageBox.Show("Uno o più dati anagrafici della persona sono mancanti."); return; } if(reati_binding_source.Find(item => item.IsSelected == true) == null) { { MessageBox.Show("Attenzione, non è stato associato alcun reato a carico dell'indagato."); return; } } if (nomeDif1TextBox.Text != null && nomeDif1TextBox.Text != "" && i_binding_source.difensore == null) { if (difensore1.persona.IsValid) { i_binding_source.difensore = difensore1; } else { MessageBox.Show("Uno o più dati anagrafici del primo difensore sono mancanti."); return; } } // Si impostano alcuni campi della persona, a seconda delle selezioni dell'utente if (sessoMRadioButton.IsChecked == true) p_binding_source.Sesso = "M"; else p_binding_source.Sesso = "F"; i_binding_source.Stato = statoComboBox.Text; i_binding_source.PrecedentiPenali = precedenti_penaliComboBox.Text; DatiIndagatoEventArgs event_data; if (modalità_modifica) event_data = new DatiIndagatoEventArgs(p_binding_source, p_originale); else event_data = new DatiIndagatoEventArgs(p_binding_source); p_binding_source.PersonaReato.Clear(); foreach (PersonaReati pr in reati_binding_source) { if (pr.IsSelected == true) { Model.PersonaReato nuovo_pr = new Model.PersonaReato(); nuovo_pr.scheda = scheda; nuovo_pr.persona = p_binding_source; nuovo_pr.reato = pr.Reato; p_binding_source.PersonaReato.Add(nuovo_pr); } } db_connection.SaveChanges(); // Se si è in modalità modifica si invoca l'evento persona modificata, // Altrimenti si invoca l'evento persona creata if (modalità_modifica) On_evento_p_modificata(event_data); else On_evento_p_creata(event_data); Close(); }
protected virtual void On_evento_p_modificata(DatiIndagatoEventArgs e) { if (evento_p_modificata != null) evento_p_modificata(this, e); }