private void btnCreaPDF_Click(object sender, EventArgs e) { if (_dsServizio.Tables[tableName].Rows.Count == 0) { return; } lblMessaggio.Text = string.Empty; decimal IDDETTAGLIO = -1; foreach (DataRow riga in _dsServizio.Tables[tableName].Rows) { IDDETTAGLIO = (decimal)riga[1]; string RIFERIMENTO = ConvertiInStringa(riga[2]); RIFERIMENTO = RIFERIMENTO.ToUpper().Trim(); string PARTE = (string)riga[11]; string COLORE = (string)riga[12]; if (!string.IsNullOrEmpty(RIFERIMENTO)) { CDCDS.CDC_DIMEMSIONIRow dimensione = _DS.CDC_DIMEMSIONI.Where(x => x.IDDETTAGLIO == IDDETTAGLIO && x.RIFERIMENTO.Trim() == RIFERIMENTO).FirstOrDefault(); if (dimensione == null) { dimensione = _DS.CDC_DIMEMSIONI.NewCDC_DIMEMSIONIRow(); dimensione.CONFORME = ConvertiBoolInStringa(riga[10]); dimensione.CONTAMPONE = ConvertiBoolInStringa(riga[9]); dimensione.DATAINSERIMENTO = DateTime.Now; dimensione.GRANDEZZA = ((string)riga[3]).ToUpper().Trim(); dimensione.IDDETTAGLIO = IDDETTAGLIO; dimensione.MASSIMO = ConvertiInStringa(riga[7]).ToUpper().Trim(); dimensione.MINIMO = ConvertiInStringa(riga[6]).ToUpper().Trim(); dimensione.RICHIESTO = ((string)riga[4]).ToUpper().Trim(); dimensione.RIFERIMENTO = ((string)riga[2]).ToUpper().Trim(); dimensione.TAMPONE = ConvertiInStringa(riga[8]).ToUpper().Trim(); dimensione.TOLLERANZA = ConvertiInStringa(riga[5]).ToUpper().Trim(); dimensione.UTENTE = Contesto.Utente.FULLNAMEUSER; _DS.CDC_DIMEMSIONI.AddCDC_DIMEMSIONIRow(dimensione); } else { dimensione.CONFORME = ConvertiBoolInStringa(riga[10]); dimensione.CONTAMPONE = ConvertiBoolInStringa(riga[9]); dimensione.DATAINSERIMENTO = DateTime.Now; dimensione.GRANDEZZA = ((string)riga[3]).ToUpper().Trim(); dimensione.IDDETTAGLIO = IDDETTAGLIO; dimensione.MASSIMO = ConvertiInStringa(riga[7]).ToUpper().Trim(); dimensione.MINIMO = ConvertiInStringa(riga[6]).ToUpper().Trim(); dimensione.RICHIESTO = ((string)riga[4]).ToUpper().Trim(); dimensione.RIFERIMENTO = ((string)riga[2]).ToUpper().Trim(); dimensione.TAMPONE = ConvertiInStringa(riga[8]).ToUpper().Trim(); dimensione.TOLLERANZA = ConvertiInStringa(riga[5]).ToUpper().Trim(); dimensione.UTENTE = Contesto.Utente.FULLNAMEUSER; } CDCDS.CDC_DIMEMSIONI_MISURERow misura = _DS.CDC_DIMEMSIONI_MISURE.Where(x => x.PARTE == PARTE && x.RIFERIMENTO.Trim() == RIFERIMENTO).FirstOrDefault(); if (misura == null) { misura = _DS.CDC_DIMEMSIONI_MISURE.NewCDC_DIMEMSIONI_MISURERow(); misura.PARTE = PARTE; misura.CONTAMPONE = ConvertiBoolInStringa(riga[9]); misura.GRANDEZZA = ((string)riga[3]).ToUpper().Trim(); misura.MASSIMO = ConvertiInStringa(riga[7]).ToUpper().Trim(); misura.MINIMO = ConvertiInStringa(riga[6]).ToUpper().Trim(); misura.RICHIESTO = ((string)riga[4]).ToUpper().Trim(); misura.RIFERIMENTO = ((string)riga[2]).ToUpper().Trim(); misura.TAMPONE = ConvertiInStringa(riga[8]).ToUpper().Trim(); misura.TOLLERANZA = ConvertiInStringa(riga[5]).ToUpper().Trim(); _DS.CDC_DIMEMSIONI_MISURE.AddCDC_DIMEMSIONI_MISURERow(misura); } else { misura.CONTAMPONE = ConvertiBoolInStringa(riga[9]); misura.GRANDEZZA = ((string)riga[3]).ToUpper().Trim(); misura.MASSIMO = ConvertiInStringa(riga[7]).ToUpper().Trim(); misura.MINIMO = ConvertiInStringa(riga[6]).ToUpper().Trim(); misura.RICHIESTO = ((string)riga[4]).ToUpper().Trim(); misura.RIFERIMENTO = ((string)riga[2]).ToUpper().Trim(); misura.TAMPONE = ConvertiInStringa(riga[8]).ToUpper().Trim(); misura.TOLLERANZA = ConvertiInStringa(riga[5]).ToUpper().Trim(); } } } CDCBLL bll = new CDCBLL(); bll.SalvaDatiDimensioni(_DS); _DS.CDC_DIMEMSIONI.AcceptChanges(); _DS.CDC_DIMEMSIONI_MISURE.AcceptChanges(); Bitmap firma = Properties.Resources.firma_vittoria; if (Contesto.Utente.IDUSER == "0000000122") { firma = Properties.Resources.firma_celeste; } ImageConverter converter = new ImageConverter(); byte[] iFirma = (byte[])converter.ConvertTo(firma, typeof(byte[])); Bitmap loghi = Properties.Resources.loghi; byte[] iLoghi = (byte[])converter.ConvertTo(loghi, typeof(byte[])); bll.CreaPDFDimensionale(IDDETTAGLIO, _DS, Contesto.Utente.FULLNAMEUSER, Contesto.PathCollaudo, iFirma, iLoghi); if (chkCopiaSchedaTecnica.Checked) { DataRow riga = _dsServizio.Tables[tableName].Rows[0]; string PARTE = (string)riga[11]; string COLORE = (string)riga[12]; string filename = string.Format(@"{0}\{1}-{2}.pdf", Contesto.PathSchedeTecniche, PARTE, COLORE); if (!File.Exists(filename)) { string messaggio = string.Format("Impossibile trovare il file per PARTE:{0} e COLORE:{1}. File: {2}", PARTE, COLORE, filename); MessageBox.Show(messaggio); return; } CDCDS.CDC_DETTAGLIORow dettaglio = _DS.CDC_DETTAGLIO.Where(x => x.IDDETTAGLIO == IDDETTAGLIO).FirstOrDefault(); DateTime dt = DateTime.ParseExact(dettaglio.DATACOLLAUDO, "dd/MM/yyyy", CultureInfo.InvariantCulture); string cartellaDestinazione = CDCBLL.CreaPathCartella(dt, Contesto.PathCollaudo, dettaglio.ACCESSORISTA, dettaglio.PREFISSO, dettaglio.PARTE, dettaglio.COLORE, dettaglio.COMMESSAORDINE); string destinazione = string.Format(@"{0}\{1}-{2}.pdf", cartellaDestinazione, PARTE, COLORE); if (File.Exists(destinazione)) { File.Delete(destinazione); } File.Copy(filename, destinazione, true); } }