private void btnCopiaCertificati_Click(object sender, EventArgs e)
        {
            try
            {
                if (lstCertificatiAssociati.Items.Count == 0)
                {
                    MessageBox.Show("Associare almeno un certificato di analisi del piombo", "ATTENZIONE", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
                if (_dettaglio == null)
                {
                    MessageBox.Show("Selezionare una riga dalla griglia", "ATTENZIONE", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
                CDCDS.CDC_MATERIAPRIMARow materiaPrima = _DS.CDC_MATERIAPRIMA.Where(x => x.PARTE == _dettaglio.PARTE).FirstOrDefault();
                if (materiaPrima != null)
                    materiaPrima.MATERIAPRIMA = txtMateriaPrima.Text;
                else
                {
                    materiaPrima = _DS.CDC_MATERIAPRIMA.NewCDC_MATERIAPRIMARow();
                    materiaPrima.PARTE = _dettaglio.PARTE;
                    materiaPrima.MATERIAPRIMA = txtMateriaPrima.Text;
                    _DS.CDC_MATERIAPRIMA.AddCDC_MATERIAPRIMARow(materiaPrima);
                }

                StringBuilder sb = new StringBuilder();
                StringBuilder sbNonTrovati = new StringBuilder();

                CDCBLL bll = new CDCBLL();
                foreach (CertificatoPiombo cp in lstCertificatiAssociati.Items)
                {

                    //CDCDS.CDC_CERTIFICATIPIOMBORow certificato = _DS.CDC_CERTIFICATIPIOMBO.Where(x => x.IDCERTIFICATIPIOMBO == cp.IDCERTIFICATIPIOMBO).FirstOrDefault();
                    //if (certificato == null)
                    //{
                    //    MessageBox.Show("Errore nel recuperare il certificato IDCERTIFICATIPIOMBO:" + cp.IDCERTIFICATIPIOMBO.ToString(), "ERRORE", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    //    return;
                    //}                   
                    //string spessore = certificato.IsSPESSORENull() ? string.Empty : certificato.SPESSORE.ToString();

                    //                    string fileDaCopiare = bll.CreaNomefileCertificatiAnalisiPiombo(certificato.ELEMENTO, certificato.LUNGHEZZA.ToString(), certificato.LARGHEZZA.ToString(), spessore, certificato.CODICE, certificato.DATACERTIFICATO, Contesto.PathAnalisiPiombo, out cartella, out nomeCampione);

                    string fileDaCopiare = EstraiPathFileDaCopiare(cp);

                    DateTime dt = DateTime.Today;
                    DateTime dtCollaudo = DateTime.ParseExact(_dettaglio.DATACOLLAUDO, "dd/MM/yyyy", CultureInfo.InvariantCulture);
                    string pathDestinazione = CDCBLL.CreaPathCartella(dtCollaudo, Contesto.PathCollaudo, _dettaglio.ACCESSORISTA, _dettaglio.PREFISSO, _dettaglio.PARTE, _dettaglio.COLORE, _dettaglio.COMMESSAORDINE);
                    if (File.Exists(fileDaCopiare))
                    {
                        FileInfo fi = new FileInfo(fileDaCopiare);
                        string fileDestinazione = Path.Combine(pathDestinazione, fi.Name);
                        sb.AppendLine(fileDestinazione);
                        if (!Directory.Exists(pathDestinazione))
                            Directory.CreateDirectory(pathDestinazione);
                        File.Copy(fileDaCopiare, fileDestinazione, true);
                    }
                    else
                        sbNonTrovati.AppendLine(fileDaCopiare);
                }
                bll.SalvaMateriaPrima(_DS);

                string messaggio = string.Format("I seguenti file sono stati copiati. {0}", sb.ToString());
                MessageBox.Show(messaggio, "INFORMAZIONE", MessageBoxButtons.OK, MessageBoxIcon.Information);

                if (sbNonTrovati.Length > 0)
                {
                    messaggio = string.Format("I seguenti file NON sono stati trovati e quindi NON SONO STATI COPIATI I CERTIFICATI E NON E' STATO ASSOCIATO IL CERTIFICATO. {0}", sb.ToString());
                    MessageBox.Show(messaggio, "ATTENZIONE", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
            catch (Exception ex)
            {
                MostraEccezione(ex, "Errore salva associazione ");

            }
        }