private void btnCreaPDF_Click(object sender, EventArgs e) { string fileCreati = string.Empty; try { Cursor.Current = Cursors.WaitCursor; bool esito = true; lblMessaggio.Text = ""; foreach (DataRow riga in _dsServizio.Tables[tableName].Rows) { if (riga[8] == DBNull.Value || string.IsNullOrEmpty((string)riga[7])) { esito = false; } } if (!esito) { lblMessaggio.Text = "Impossibile creare i file. Ci sono delle descrizioni vuote"; return; } List <decimal> idPerPDF = new List <decimal>(); foreach (DataRow riga in _dsServizio.Tables[tableName].Rows) { decimal iddettaglio = (decimal)riga[17]; idPerPDF.Add(iddettaglio); CDCDS.CDC_CONFORMITARow conformitaRow = _DS.CDC_CONFORMITA.Where(x => x.IDDETTAGLIO == iddettaglio).FirstOrDefault(); if (conformitaRow == null) { conformitaRow = _DS.CDC_CONFORMITA.NewCDC_CONFORMITARow(); conformitaRow.IDCONFORMITA = 0; conformitaRow.IDDETTAGLIO = iddettaglio; conformitaRow.UTENTE = Contesto.Utente.FULLNAMEUSER; conformitaRow.DATAINSERIMENTO = DateTime.Now; conformitaRow.FISICOCHIMICO = ConvertiBoolInStringa(riga[9]); conformitaRow.FUNZIONALE = ConvertiBoolInStringa(riga[10]); conformitaRow.DIMENSIONALE = ConvertiBoolInStringa(riga[11]); conformitaRow.ESTETICO = ConvertiBoolInStringa(riga[12]); conformitaRow.ACCONTO = ConvertiBoolInStringa(riga[13]); conformitaRow.SALDO = ConvertiBoolInStringa(riga[14]); conformitaRow.DESCRIZIONE = ((string)riga[8]).ToUpper().Trim(); if (riga[15] == DBNull.Value) { conformitaRow.SetALTRONull(); } else { string aux = (string)riga[15]; if (string.IsNullOrEmpty(aux)) { conformitaRow.SetALTRONull(); } else { conformitaRow.ALTRO = aux; } } if (riga[16] == DBNull.Value) { conformitaRow.SetALTRONull(); } else { string aux = (string)riga[16]; if (string.IsNullOrEmpty(aux)) { conformitaRow.SetCERTIFICATINull(); } else { conformitaRow.CERTIFICATI = aux; } } _DS.CDC_CONFORMITA.AddCDC_CONFORMITARow(conformitaRow); } else { conformitaRow.UTENTE = Contesto.Utente.FULLNAMEUSER; conformitaRow.DATAINSERIMENTO = DateTime.Now; conformitaRow.FISICOCHIMICO = ConvertiBoolInStringa(riga[9]); conformitaRow.FUNZIONALE = ConvertiBoolInStringa(riga[10]); conformitaRow.DIMENSIONALE = ConvertiBoolInStringa(riga[11]); conformitaRow.ESTETICO = ConvertiBoolInStringa(riga[12]); conformitaRow.ACCONTO = ConvertiBoolInStringa(riga[13]); conformitaRow.SALDO = ConvertiBoolInStringa(riga[14]); conformitaRow.DESCRIZIONE = ((string)riga[8]).ToUpper().Trim(); if (riga[15] == DBNull.Value) { conformitaRow.SetALTRONull(); } else { string aux = (string)riga[15]; if (string.IsNullOrEmpty(aux)) { conformitaRow.SetALTRONull(); } else { conformitaRow.ALTRO = aux; } } if (riga[16] == DBNull.Value) { conformitaRow.SetCERTIFICATINull(); } else { string aux = (string)riga[16]; if (string.IsNullOrEmpty(aux)) { conformitaRow.SetCERTIFICATINull(); } else { conformitaRow.CERTIFICATI = aux; } } } string parte = (string)riga[4]; string prefisso = (string)riga[3]; string colore = (string)riga[5]; CDCDS.CDC_CONFORMITA_DETTAGLIORow dettaglioRow = _DS.CDC_CONFORMITA_DETTAGLIO.Where(x => x.PARTE == parte && x.PREFISSO == prefisso && x.COLORE == colore).FirstOrDefault(); if (dettaglioRow == null) { dettaglioRow = _DS.CDC_CONFORMITA_DETTAGLIO.NewCDC_CONFORMITA_DETTAGLIORow(); dettaglioRow.PREFISSO = prefisso; dettaglioRow.PARTE = parte; dettaglioRow.COLORE = colore; dettaglioRow.DESCRIZIONE = ((string)riga[8]).ToUpper().Trim(); dettaglioRow.UTENTE = Contesto.Utente.FULLNAMEUSER; dettaglioRow.DATAINSERIMENTO = DateTime.Now; _DS.CDC_CONFORMITA_DETTAGLIO.AddCDC_CONFORMITA_DETTAGLIORow(dettaglioRow); } else { dettaglioRow.DESCRIZIONE = ((string)riga[8]).ToUpper().Trim(); dettaglioRow.UTENTE = Contesto.Utente.FULLNAMEUSER; dettaglioRow.DATAINSERIMENTO = DateTime.Now; } } CDCBLL bll = new CDCBLL(); bll.SalvaDatiConformita(_DS); _DS.AcceptChanges(); Bitmap firma = Properties.Resources.FirmaCDC; ImageConverter converter = new ImageConverter(); byte[] image = (byte[])converter.ConvertTo(firma, typeof(byte[])); fileCreati = bll.CreaPDFConformita(idPerPDF, _DS, Contesto.PathCollaudo, image, Contesto.Utente.FULLNAMEUSER); } finally { Cursor.Current = Cursors.Default; } StringBuilder sb = new StringBuilder(); sb.AppendLine("Sono stati creati i seguenti file:"); sb.Append(fileCreati); MessageBox.Show(sb.ToString(), "FILE PDF CREATI", MessageBoxButtons.OK, MessageBoxIcon.Information); }