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 "); } }