public static Riferimento Riferimento_Create(
            String Nominativo,
            String Telefono,
            String EMail
            )
        {
            try
            {
                Riferimento aRiferimento =
                    new Riferimento();

                NHibernate.ISession aNHibernateSession = NHibernateHelper.GetOrCreateCurrentSession();

                aRiferimento.Nominativo = Nominativo;
                aRiferimento.Telefono = Telefono;
                aRiferimento.EMail = EMail;

                aNHibernateSession.Save(aRiferimento);

                aNHibernateSession.Flush();

                return aRiferimento;
            }
            catch (Exception)
            {
                return null;
            }
        }
        public static void SegnalazionePreliminareDanno_AddRiferimento(
            SegnalazionePreliminareDanno SegnalazionePreliminareDanno,
            Riferimento Riferimento
            )
        {
            try
            {
                NHibernate.ISession aNHibernateSession = NHibernateHelper.GetOrCreateCurrentSession();

                SegnalazionePreliminareDanno.Riferimento = Riferimento;

                aNHibernateSession.Flush();
            }
            catch (Exception)
            {
            }
        }
    protected SegnalazionePreliminareDanno AddDanno()
    {
        SegnalazionePreliminareDanno aSegnalazionePreliminareDanno =
                   new SegnalazionePreliminareDanno();

        NHibernate.ISession aNHibernateISession = NHibernateHelper.GetOrCreateCurrentSession();

        aSegnalazionePreliminareDanno.Oggetto = Manager.OggettiSegnalazionePreliminareDanno_GetAll()[rbList.SelectedIndex];
        aSegnalazionePreliminareDanno.DataCreazione = DateTime.Now;
        aSegnalazionePreliminareDanno.Definitivo = true; // false se si vuole gestire la pratica successivamente

        aNHibernateISession.Save(aSegnalazionePreliminareDanno);

        //RECAPITO
        Recapito aRecapito = new Recapito();

        aRecapito.Indirizzo = txtIndi.Text;
        aRecapito.Localita = txtLocal.Text;
        aRecapito.Provincia = txtProv.Text;

        aNHibernateISession.Save(aRecapito);

        aSegnalazionePreliminareDanno.Recapito = aRecapito;

        //aNHibernateISession.Flush();

        //DETTAGLIO
        DettaglioSegnalazionePreliminareDanno aDettaglio = new DettaglioSegnalazionePreliminareDanno();

        aDettaglio.Corpo = txtDexDanno.Text;
        aDettaglio.DataCreazione = DateTime.Now;

        aSegnalazionePreliminareDanno.Dettagli.Add(aDettaglio);
        aDettaglio.SegnalazionePreliminareDanno = aSegnalazionePreliminareDanno;

        aNHibernateISession.Save(aDettaglio);

        //FILE IMMAGINE
        if (FileUpload1.HasFile)
        {
            Random r = new Random();
            string sFilename = r.Next(10001, 99999) + "_" + FileUpload1.FileName.Trim();
            FileUpload1.SaveAs(Server.MapPath("public/" + sFilename));
            Hackathon.Need2.Model.File aFile = new Hackathon.Need2.Model.File();
            aFile.Nome = sFilename;
            aFile.Estensione = "";
            aDettaglio.File = aFile;
            aNHibernateISession.Save(aFile);
            aDettaglio.File = aFile;

        };

        //RIFERIMENTO PERSONALE
        Riferimento aRiferimento = new Riferimento();

        aRiferimento.Nominativo = txtNominativo.Text;
        aRiferimento.EMail = txtEmail.Text;
        aRiferimento.Telefono = txtTel.Text;

        aNHibernateISession.Save(aRiferimento);

        aSegnalazionePreliminareDanno.Riferimento = aRiferimento;

        aNHibernateISession.Flush();

        return aSegnalazionePreliminareDanno;
    }