// Costruttore per la modalità di creazione nuova persona offesa
        public SetDatiPO()
        {
            InitializeComponent();

            nuova_iscrizione_data = (NuovaIscrizione)Application.Current.Properties["nuova_iscrizione"];

            Model.persona p = new Model.persona();
            Model.persona_offesa i = new Model.persona_offesa();
            i.persona = p;
            p.persona_offesa = i;
            p.Ruolo = "persona offesa";
            p.Sesso = "M";
            p.NumeroEscussioni = 0;
            p.persona_offesa.AvvisoArchiviazione = false;

            po_binding_source = p;
            modalità_modifica = false;
        }
        private void SetDatiPersona_Loaded(object sender, RoutedEventArgs e)
        {
            if (modalità_modifica == false)
            {
                Model.persona p = new Model.persona();
                p.Ruolo = Ruolo;
                if (Ruolo == "Persona offesa")
                {
                    Model.persona_offesa i = new Model.persona_offesa();
                    i.persona = p;
                    p.persona_offesa = i;
                    p.Ruolo = "persona offesa";
                    p.persona_offesa.AvvisoArchiviazione = false;
                }
                if (Ruolo == "Persona informata")
                {
                    Model.persona_informata i = new Model.persona_informata();
                    i.persona = p;
                    p.persona_informata = i;
                    p.Ruolo = "persona informata";
                }

                p.Sesso = "M";
                p.NumeroEscussioni = 0;

                p_binding_source = p;
            }

            reati_binding_source = new List<PersonaReati>();
            db_connection = new Model.novus_daedalus_dbEntities();
            if (modalità_modifica)
            {
                p_binding_source = db_connection.persona.Find(p_originale.Id);
                if (p_binding_source.Sesso == "M") sessoMRadioButton.IsChecked = true;
                else sessoFRadioButton.IsChecked = true;
            }

            DatiPersona_Grid.DataContext = p_binding_source;

            scheda = db_connection.scheda.Find((int)Application.Current.Properties["Scheda"]);
            if (modalità_modifica == false)
                p_binding_source.scheda = scheda;

            // Si recuperano le associazioni tra la persona e i reati
            foreach (Model.reato r in scheda.reato)
            {
                PersonaReati pr = new PersonaReati();
                pr.Reato = r;
                if (modalità_modifica == true
                    && p_binding_source.PersonaReato.Any(item => item.IdPersona == p_binding_source.Id && item.IdReato == r.Id && item.IdScheda == scheda.Id) == true)
                    pr.IsSelected = true;
                else
                    pr.IsSelected = false;
                reati_binding_source.Add(pr);
            }
            if (reati_binding_source.Count == 0)
                chkAllReati.IsChecked = false;
            else
                chkAllReati.IsChecked = true;
            foreach (PersonaReati pr in reati_binding_source)
            {
                if (pr.IsSelected == false)
                    chkAllReati.IsChecked = false;
            }
            Persona_Reati_List_View.DataContext = reati_binding_source;
        }
        // Costruttore per la modalità modifica di un indagato già esistente
        public SetDatiPO(Model.persona persona_offesa)
        {
            InitializeComponent();

            nuova_iscrizione_data = (NuovaIscrizione)Application.Current.Properties["nuova_iscrizione"];
            this.po_originale = persona_offesa;

            Model.persona p = new Model.persona(persona_offesa);
            Model.persona_offesa i = new Model.persona_offesa(persona_offesa.persona_offesa);
            i.persona = p;
            p.persona_offesa = i;

            if (p.Sesso == "M") sessoMRadioButton.IsChecked = true;
            else sessoFRadioButton.IsChecked = true;

            po_binding_source = p;
            modalità_modifica = true;
        }