public decimal CreaMail(decimal idRichiedente, string oggetto, string corpo)
        {
            if (oggetto.Length > 50)
            {
                oggetto = oggetto.Substring(0, 50);
            }

            if (corpo.Length > 4000)
            {
                corpo = corpo.Substring(0, 4000);
            }
            string   insert = @"INSERT INTO MD_EMAIL (IDRICHIEDENTE,DATACREAZIONE, STATO, TENTATIVO,OGGETTO,CORPO) VALUES ($P{IDRICHIEDENTE},$P{DATA},$P{STATO},0,$P{OGGETTO},$P{CORPO}) RETURNING IDMAIL INTO $P{IDMAIL}";
            ParamSet ps     = new ParamSet();

            ps.AddParam("IDRICHIEDENTE", DbType.Decimal, idRichiedente);
            ps.AddParam("DATA", DbType.DateTime, DateTime.Now);
            ps.AddParam("STATO", DbType.String, "CRT");
            ps.AddParam("OGGETTO", DbType.String, oggetto);
            ps.AddParam("CORPO", DbType.String, corpo);
            ps.AddOutputParam("IDMAIL", DbType.Decimal);
            decimal IDMAIL = -1;

            using (DbCommand cmd = BuildCommand(insert, ps))
            {
                cmd.ExecuteNonQuery();
                IDMAIL = RetrieveParamValue <decimal>(cmd, "IDMAIL");
            }
            return(IDMAIL);
        }