コード例 #1
0
        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);
        }