Beispiel #1
0
        private void SalvaDescrizioneEtichette()
        {
            foreach (DataRow riga in _dsServizio.Tables[tableName].Rows)
            {
                string prefisso    = (string)riga[3];
                string parte       = (string)riga[4];
                string colore      = (string)riga[5];
                string linea       = (string)riga[9];
                string descrizione = (string)riga[10];
                descrizione = descrizione.Trim().ToUpper();
                linea       = linea.Trim().ToUpper();

                CDCDS.CDC_ETICHETTE_DETTAGLIORow rigaEtichetta = _DS.CDC_ETICHETTE_DETTAGLIO.Where(x => x.PREFISSO == prefisso && x.PARTE == parte && x.COLORE == colore).FirstOrDefault();
                if (rigaEtichetta == null)
                {
                    rigaEtichetta             = _DS.CDC_ETICHETTE_DETTAGLIO.NewCDC_ETICHETTE_DETTAGLIORow();
                    rigaEtichetta.PREFISSO    = prefisso;
                    rigaEtichetta.PARTE       = parte;
                    rigaEtichetta.COLORE      = colore;
                    rigaEtichetta.LINEA       = linea;
                    rigaEtichetta.DESCRIZIONE = descrizione.Length > 50 ? descrizione.Substring(0, 50) : descrizione;
                    _DS.CDC_ETICHETTE_DETTAGLIO.AddCDC_ETICHETTE_DETTAGLIORow(rigaEtichetta);
                }
                else
                {
                    rigaEtichetta.LINEA       = linea;
                    rigaEtichetta.DESCRIZIONE = descrizione.Length > 50 ? descrizione.Substring(0, 50) : descrizione;
                }
            }

            CDCBLL bll = new CDCBLL();

            bll.SalvaDescrizioneEtichette(_DS);
        }
        private void SalvaCertificatoPiombo()
        {
            CDCDS ds = new CDCDS();

            CDCDS.CDC_CERTIFICATIPIOMBORow cPiombo = ds.CDC_CERTIFICATIPIOMBO.NewCDC_CERTIFICATIPIOMBORow();
            cPiombo.ELEMENTO = ddlElemento.SelectedItem as string;
            cPiombo.CODICE   = txtCodice.Text;
            Materiale materiale = ddlMateriale.SelectedItem as Materiale;

            cPiombo.MATERIALE       = materiale.Nome;
            cPiombo.LOTTO           = txtLotto.Text;
            cPiombo.LUNGHEZZA       = nLunghezza.Value;
            cPiombo.LARGHEZZA       = nLarghezza.Value;
            cPiombo.SPESSORE        = nSpessore.Value;
            cPiombo.METODO          = txtMetodo.Text;
            cPiombo.PESOCAMPIONE    = nPesoCampione.Value;
            cPiombo.MATRACCIOLO     = nMatracciolo.Value;
            cPiombo.CONCENTRAZIONE  = nConcentrazione.Value;
            cPiombo.PBPPM           = nPd.Value;
            cPiombo.CDPPM           = nCd.Value;
            cPiombo.ESITO           = txtEsito.Text;
            cPiombo.DATACERTIFICATO = dtDataCertificato.Value;
            cPiombo.UTENTE          = Contesto.Utente.FULLNAMEUSER;
            cPiombo.DATAINSERIMENTO = DateTime.Now;
            ds.CDC_CERTIFICATIPIOMBO.AddCDC_CERTIFICATIPIOMBORow(cPiombo);

            CDCBLL bll = new CDCBLL();

            bll.SalvaCertificatiPiombo(ds);
        }
        private void CreaDsPerCartelle(DateTime dataSelezionata)
        {
            _dsServizio = new DataSet();
            DataTable dtCartelle = _dsServizio.Tables.Add();

            dtCartelle.TableName = tableName;
            dtCartelle.Columns.Add("ACCESSORISTA", Type.GetType("System.String"));
            dtCartelle.Columns.Add("DATACOLLAUDO", Type.GetType("System.DateTime"));
            dtCartelle.Columns.Add("PREFISSO", Type.GetType("System.String"));
            dtCartelle.Columns.Add("PARTE", Type.GetType("System.String"));
            dtCartelle.Columns.Add("COLORE", Type.GetType("System.String"));
            dtCartelle.Columns.Add("COMMESSA", Type.GetType("System.String"));
            dtCartelle.Columns.Add("CARTELLA", Type.GetType("System.String"));


            foreach (CDCDS.CDC_DETTAGLIORow dettaglio in _DS.CDC_DETTAGLIO)
            {
                DataRow riga = dtCartelle.NewRow();

                riga[0] = CDCBLL.ConvertiAccessorista(dettaglio.ACCESSORISTA);
                riga[1] = dettaglio.DATACOLLAUDO;
                riga[2] = dettaglio.PREFISSO;
                riga[3] = dettaglio.PARTE;
                riga[4] = dettaglio.COLORE;
                riga[5] = dettaglio.COMMESSAORDINE;

                string cartella = CDCBLL.CreaPathCartella(dataSelezionata, Contesto.PathCollaudo, dettaglio.ACCESSORISTA, dettaglio.PREFISSO, dettaglio.PARTE, dettaglio.COLORE, dettaglio.COMMESSAORDINE);
                riga[idColonnaCartella] = cartella;

                dtCartelle.Rows.Add(riga);
            }
        }
        private void CaricaCertificatiPiombo(string filtro)
        {
            _DS.CDC_CERTIFICATIPIOMBO.Clear();
            CDCBLL bll = new CDCBLL();
            bll.FillCDC_CERTIFICATIPIOMBO(_DS);

            lstCertificatiDaAssociare.Items.Clear();
            List<CDCDS.CDC_CERTIFICATIPIOMBORow> certificati = _DS.CDC_CERTIFICATIPIOMBO.ToList();

            foreach (CDCDS.CDC_CERTIFICATIPIOMBORow certificato in certificati)
            {
                decimal volume = 0;
                decimal pesoSpecifico = 8.40m;

                if (certificato.MATERIALE == "OTTONE SENZA PIOMBO") pesoSpecifico = 8.36m;
                decimal peso = volume * pesoSpecifico;

                CertificatoPiombo cp = new CertificatoPiombo()
                {
                    Descrizione = certificato.CODICE,
                    IDCERTIFICATIPIOMBO = certificato.IDCERTIFICATIPIOMBO,
                    Peso = peso,
                    Volume = volume,
                    DataCertificato = certificato.DATACERTIFICATO,
                    path = certificato.IsPATHFILENull() ? string.Empty : certificato.PATHFILE
                };

                if (!string.IsNullOrEmpty(filtro) && !cp.ToString().Contains(filtro))
                    continue;

                lstCertificatiDaAssociare.Items.Add(cp);
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            foreach (CDCDS.CDC_BRANDSRow riga in _DS.CDC_BRANDS.Rows)
            {
                if (riga.RowState == DataRowState.Added || riga.RowState == DataRowState.Modified)
                {
                    riga.UTENTE          = Contesto.Utente.FULLNAMEUSER;
                    riga.DATARIFERIMENTO = DateTime.Now;
                }
            }

            CDCBLL bll = new CDCBLL();

            bll.SalvaDatiBrands(_DS);
            _DS.AcceptChanges();

            _DS.CDC_BRANDS.Clear();
            bll.CaricaBrands(_DS);

            DataTable listBrands = _DS.CDC_BRANDS.Clone();

            listBrands = _DS.CDC_BRANDS.Copy();

            DataGridViewComboBoxColumn comboCol = (DataGridViewComboBoxColumn)dgvEnti.Columns["BRAND"];

            comboCol.DataSource = listBrands;
        }
Beispiel #6
0
        private void btnLeggiDati_Click(object sender, EventArgs e)
        {
            btnCreaCartelle.Enabled = false;

            lblMessaggio.Text = string.Empty;
            if (ddlDataCollaudo.SelectedIndex == -1)
            {
                lblMessaggio.Text = "Selezionare una data";
                return;
            }

            DataCollaudo dataSelezionata = (DataCollaudo)ddlDataCollaudo.SelectedItem;

            CDCBLL bll = new CDCBLL();

            _DS = new Entities.CDCDS();

            bll.LeggiCollaudoDaData(_DS, dataSelezionata);

            if (_DS.CDC_DETTAGLIO.Count > 0)
            {
                btnCreaCartelle.Enabled = true;
            }
            else
            {
                lblMessaggio.Text = "Nessuna riga trovata per questa data";
            }

            CreaDsPerCartelle(dataSelezionata.Data);

            dgvDettaglio.AutoGenerateColumns       = true;
            dgvDettaglio.DataSource                = _dsServizio;
            dgvDettaglio.DataMember                = tableName;
            dgvDettaglio.Columns["CARTELLA"].Width = 800;
        }
Beispiel #7
0
        private void btnLeggiDati_Click(object sender, EventArgs e)
        {
            btnCreaPDF.Enabled = false;

            lblMessaggio.Text = string.Empty;
            if (ddlDataCollaudo.SelectedIndex == -1)
            {
                lblMessaggio.Text = "Selezionare una data";
                return;
            }
            if (ddlBrand.SelectedIndex == -1 || ddlBrand.SelectedItem.ToString() == "")
            {
                lblMessaggio.Text = "Selezionare un brand";
                return;
            }

            // DataCollaudo dataSelezionata = (DataCollaudo)ddlDataCollaudo.SelectedItem;
            DataCollaudoSTR dataSelezionata = new DataCollaudoSTR(ddlBrand.SelectedItem.ToString(), ddlDataCollaudo.SelectedItem.ToString());
            CDCBLL          bll             = new CDCBLL();

            _DS = new Entities.CDCDS();
            bll.LeggiCollaudoDaDataSTR(_DS, dataSelezionata);


            if (_DS.CDC_DETTAGLIO.Count > 0)
            {
                btnCreaPDF.Enabled = true;
                List <decimal> IDDETTAGLIO = _DS.CDC_DETTAGLIO.Select(x => x.IDDETTAGLIO).Distinct().ToList();
                bll.FillCDC_CONFORMITA(_DS, IDDETTAGLIO);
                bll.CDC_PDF(_DS, IDDETTAGLIO);
            }
            else
            {
                lblMessaggio.Text = "Nessuna riga trovata per questa data";
            }

            CreaDsPerCartificati();

            dgvDettaglio.AutoGenerateColumns = true;
            dgvDettaglio.DataSource          = _dsServizio;
            dgvDettaglio.DataMember          = tableName;

            dgvDettaglio.Columns[0].Frozen = true;
            dgvDettaglio.Columns[1].Frozen = true;
            dgvDettaglio.Columns[2].Frozen = true;
            dgvDettaglio.Columns[3].Frozen = true;
            dgvDettaglio.Columns[3].Width  = 70;
            dgvDettaglio.Columns[4].Frozen = true;
            dgvDettaglio.Columns[4].Width  = 70;
            dgvDettaglio.Columns[5].Frozen = true;
            dgvDettaglio.Columns[5].Width  = 70;
            dgvDettaglio.Columns[6].Frozen = true;
            dgvDettaglio.Columns[6].Width  = 130;
            ((DataGridViewTextBoxColumn)dgvDettaglio.Columns[8]).MaxInputLength = 50;
            dgvDettaglio.Columns[8].Width    = 170;
            dgvDettaglio.Columns[17].Visible = false;;
            ((DataGridViewTextBoxColumn)dgvDettaglio.Columns[15]).MaxInputLength = 50;
            ((DataGridViewTextBoxColumn)dgvDettaglio.Columns[16]).MaxInputLength = 50;
        }
        private void ExcelCaricaNuovoDocumentoFrm_Load(object sender, EventArgs e)
        {
            CDCBLL bll = new CDCBLL();

            bll.CaricaBrands(_DS);

            CaricaDropDownListBrands();
        }
        private void AssociaCertificatiPiomboFrm_Load(object sender, EventArgs e)
        {
            CDCBLL bll = new CDCBLL();
            PopolaDDLDate();
            bll.LeggiMateriaPrimaArticoli(_DS);

            CaricaCertificatiPiombo(string.Empty);
        }
        private void CalcolaEsito()
        {
            Color  colore;
            CDCBLL bll = new CDCBLL();

            txtEsito.Text      = bll.CalcolaEsitoAnalisiPiombo(nPd.Value, out colore);
            txtEsito.BackColor = colore;
        }
        private void btnLeggiDati_Click(object sender, EventArgs e)
        {
            lblMessaggio.Text = string.Empty;
            if (ddlDataCollaudo.SelectedIndex == -1)
            {
                lblMessaggio.Text = "Selezionare una data";
                return;
            }
            if (ddlBrand.SelectedIndex == -1 || ddlBrand.SelectedItem.ToString() == "")
            {
                lblMessaggio.Text = "Selezionare un brand";
                return;
            }

            // DataCollaudo dataSelezionata = (DataCollaudo)ddlDataCollaudo.SelectedItem;
            DataCollaudoSTR dataSelezionata = new DataCollaudoSTR(ddlBrand.SelectedItem.ToString(), ddlDataCollaudo.SelectedItem.ToString());
            CDCBLL          bll             = new CDCBLL();

            _DS = new Entities.CDCDS();
            bll.LeggiCollaudoDaDataSTR(_DS, dataSelezionata);


            if (_DS.CDC_DETTAGLIO.Count > 0)
            {
                List <decimal> IDDETTAGLIO = _DS.CDC_DETTAGLIO.Select(x => x.IDDETTAGLIO).Distinct().ToList();
                bll.CDC_PDF(_DS, IDDETTAGLIO);
            }
            else
            {
                lblMessaggio.Text = "Nessuna riga trovata per questa data";
            }

            CreaDsPerListaPDF();

            dgvDettaglio.AutoGenerateColumns = true;
            dgvDettaglio.DataSource          = _dsServizio;
            dgvDettaglio.DataMember          = tableName;

            dgvDettaglio.Columns[0].Frozen  = true;
            dgvDettaglio.Columns[0].Visible = false;
            dgvDettaglio.Columns[1].Frozen  = true;
            dgvDettaglio.Columns[2].Frozen  = true;
            dgvDettaglio.Columns[3].Frozen  = true;
            dgvDettaglio.Columns[4].Frozen  = true;
            dgvDettaglio.Columns[5].Frozen  = true;
            dgvDettaglio.Columns[6].Frozen  = true;
            dgvDettaglio.Columns[7].Frozen  = true;
            dgvDettaglio.Columns[7].Width   = 130;
            dgvDettaglio.Columns[8].Frozen  = true;

            ((DataGridViewCheckBoxColumn)dgvDettaglio.Columns[9]).HeaderText  = "CDC";
            ((DataGridViewCheckBoxColumn)dgvDettaglio.Columns[10]).HeaderText = "DIMENSIONE";
            ((DataGridViewCheckBoxColumn)dgvDettaglio.Columns[11]).HeaderText = "ALLERGICO";
            ((DataGridViewCheckBoxColumn)dgvDettaglio.Columns[12]).HeaderText = "COLORE";
            ((DataGridViewCheckBoxColumn)dgvDettaglio.Columns[13]).HeaderText = "MISURA";
        }
Beispiel #12
0
        private void btnApriFile_Click(object sender, EventArgs e)
        {
            try
            {
                lblMessage.Text = string.Empty;
                if (string.IsNullOrEmpty(txtFilePath.Text))
                {
                    lblMessage.Text = "Selezionare un file";
                    return;
                }

                if (!File.Exists(txtFilePath.Text))
                {
                    lblMessage.Text = "Il file specificato non esiste";
                    return;
                }

                ExcelBLL bll    = new ExcelBLL();
                CDCBLL   cdcBll = new CDCBLL();
                string   messaggioErrore;
                if (!bll.LeggiExcelAnalisiPiombo(_DS, txtFilePath.Text, Contesto.Utente.FULLNAMEUSER, out messaggioErrore))
                {
                    string messaggio = string.Format("Errore nel caricamento del file excel. Errore: {0}", messaggioErrore);
                    MessageBox.Show(messaggio, "ERRORE LETTURA FILE", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                lblNumeroRigheExcel.Text = _DS.CDC_CERTIFICATIPIOMBO.Count.ToString();
                if (_DS.CDC_CERTIFICATIPIOMBO.Count == 0)
                {
                    lblMessage.Text = "Il file è vuoto";
                    return;
                }

                dgvExcelCaricato.AutoGenerateColumns = true;
                dgvExcelCaricato.DataSource          = _DS;
                dgvExcelCaricato.DataMember          = _DS.CDC_CERTIFICATIPIOMBO.TableName;
                dgvExcelCaricato.Columns["IDCERTIFICATIPIOMBO"].Visible = false;
                dgvExcelCaricato.Columns["UTENTE"].Visible          = false;
                dgvExcelCaricato.Columns["DATAINSERIMENTO"].Visible = false;

                foreach (DataGridViewRow riga in dgvExcelCaricato.Rows)
                {
                    decimal nPd = (decimal)riga.Cells["PBPPM"].Value;
                    Color   colore;
                    riga.Cells["ESITO"].Value           = cdcBll.CalcolaEsitoAnalisiPiombo(nPd, out colore);
                    riga.Cells["ESITO"].Style.BackColor = colore;
                }
            }
            catch (Exception ex)
            {
                MainForm.LogScriviErrore("ERRORE IN APRI FILE EXCEL", ex);
                ExceptionFrm frm = new ExceptionFrm(ex);
                frm.ShowDialog();
            }
        }
        private void btnLeggiDati_Click(object sender, EventArgs e)
        {
            btnVerificaEtichette.Enabled = false;
            btnStampaEtichette.Enabled   = false;

            lblMessaggio.Text = string.Empty;
            if (ddlDataCollaudo.SelectedIndex == -1)
            {
                lblMessaggio.Text = "Selezionare una data";
                return;
            }

            DataCollaudo dataSelezionata = (DataCollaudo)ddlDataCollaudo.SelectedItem;

            CDCBLL bll = new CDCBLL();

            _DS = new Entities.CDCDS();

            bll.LeggiCollaudoDaDataConDescrizione(_DS, dataSelezionata);


            if (_DS.CDC_DETTAGLIO1.Count > 0)
            {
                btnVerificaEtichette.Enabled = true;
                List <decimal> IDDETTAGLIO = _DS.CDC_DETTAGLIO1.Select(x => x.IDDETTAGLIO).Distinct().ToList();
                bll.FillCDC_ETICHETTE_DETTAGLIO(_DS, IDDETTAGLIO);
            }
            else
            {
                lblMessaggio.Text = "Nessuna riga trovata per questa data";
            }

            CreaDsPerEtichette();

            dgvDettaglio.AutoGenerateColumns = true;
            dgvDettaglio.DataSource          = _dsServizio;
            dgvDettaglio.DataMember          = tableName;

            dgvDettaglio.Columns[0].Frozen = true;
            dgvDettaglio.Columns[1].Frozen = true;
            dgvDettaglio.Columns[2].Frozen = true;
            dgvDettaglio.Columns[3].Frozen = true;
            dgvDettaglio.Columns[3].Width  = 70;
            dgvDettaglio.Columns[4].Frozen = true;
            dgvDettaglio.Columns[4].Width  = 70;
            dgvDettaglio.Columns[5].Frozen = true;
            dgvDettaglio.Columns[5].Width  = 70;
            dgvDettaglio.Columns[6].Frozen = true;
            dgvDettaglio.Columns[6].Width  = 130;
            ((DataGridViewTextBoxColumn)dgvDettaglio.Columns[10]).MaxInputLength = 50;
            ((DataGridViewTextBoxColumn)dgvDettaglio.Columns[9]).MaxInputLength  = 5;
            dgvDettaglio.Columns[8].Width  = 210;
            dgvDettaglio.Columns[9].Width  = 70;
            dgvDettaglio.Columns[10].Width = 210;
        }
Beispiel #14
0
        private void btnLeggiDati_Click(object sender, EventArgs e)
        {
            btnCreaPDF.Enabled = false;

            lblMessaggio.Text = string.Empty;
            if (ddlDataCollaudo.SelectedIndex == -1)
            {
                lblMessaggio.Text = "Selezionare una data";
                return;
            }

            DataCollaudo dataSelezionata = (DataCollaudo)ddlDataCollaudo.SelectedItem;

            CDCBLL bll = new CDCBLL();

            _DS = new Entities.CDCDS();

            bll.LeggiCollaudoDaData(_DS, dataSelezionata);


            if (_DS.CDC_DETTAGLIO.Count > 0)
            {
                btnCreaPDF.Enabled = true;
                List <decimal> IDDETTAGLIO = _DS.CDC_DETTAGLIO.Select(x => x.IDDETTAGLIO).Distinct().ToList();
                bll.FillCDC_VERNICICOPRENTI(_DS, IDDETTAGLIO);
                bll.CDC_PDF(_DS, IDDETTAGLIO);
            }
            else
            {
                lblMessaggio.Text = "Nessuna riga trovata per questa data";
            }

            CreaDsPerVerniciCoprenti();

            dgvDettaglio.AutoGenerateColumns = true;
            dgvDettaglio.DataSource          = _dsServizio;
            dgvDettaglio.DataMember          = tableName;

            dgvDettaglio.Columns[0].Frozen  = true;
            dgvDettaglio.Columns[0].Visible = false;
            dgvDettaglio.Columns[1].Frozen  = true;
            dgvDettaglio.Columns[2].Frozen  = true;
            dgvDettaglio.Columns[3].Frozen  = true;
            dgvDettaglio.Columns[4].Frozen  = true;
            dgvDettaglio.Columns[5].Frozen  = true;
            dgvDettaglio.Columns[6].Frozen  = true;
            dgvDettaglio.Columns[7].Frozen  = true;
            dgvDettaglio.Columns[7].Width   = 130;
            dgvDettaglio.Columns[8].Frozen  = true;
            dgvDettaglio.Columns[9].Width   = 90;
            dgvDettaglio.Columns[10].Width  = 130;
            dgvDettaglio.Columns[13].Width  = 130;
        }
Beispiel #15
0
        private void Bgw_DoWork(object sender, DoWorkEventArgs e)
        {
            StringBuilder sbMessaggio = new StringBuilder();
            DataSet       ds          = e.Argument as DataSet;

            CDCBLL bll = new CDCBLL();
            int    numeroTotaleEtichette = 0;

            foreach (DataRow riga in ds.Tables[tableName].Rows)
            {
                string numeroEtichette = string.Empty;
                if (riga[12] != System.DBNull.Value)
                {
                    numeroEtichette = (string)riga[12];
                }


                string prefisso    = (string)riga[3];
                string parte       = (string)riga[4];
                string colore      = (string)riga[5];
                string linea       = (string)riga[9];
                string descrizione = (string)riga[10];

                string messaggioVerifica;
                List <Tuple <int, int> > SC_QTA;

                if (bll.verificaNumeroEtichette(numeroEtichette, out messaggioVerifica, out SC_QTA))
                {
                    foreach (Tuple <int, int> tupla in SC_QTA)
                    {
                        string etichetta = string.Format("{0} {1} {2} {3}   da {4} pezzi IN CORSO", prefisso, parte, colore, linea, tupla.Item2);

                        for (int i = 0; i < tupla.Item1; i++)
                        {
                            numeroTotaleEtichette++;
                            ZebraHelper.EseguiStampaEtichetta(printer, riga, tupla.Item2.ToString());
                            Thread.Sleep(150);
                            string messaggio = string.Format(@"{0}{1}", sbMessaggio.ToString(), etichetta);
                            bgw.ReportProgress(numeroTotaleEtichette, messaggio);

                            if (bgw.CancellationPending)
                            {
                                e.Cancel = true;
                                return;
                            }
                        }
                    }
                    sbMessaggio.AppendLine(string.Format("{0} {1} {2} {3}   numero etichette: {4} STAMPATE", prefisso, parte, colore, linea, numeroEtichette));
                }
                ZebraHelper.EseguiStampaEtichettaSeparatore(printer);
            }
            bgw.ReportProgress(numeroTotaleEtichette, sbMessaggio.ToString());
        }
Beispiel #16
0
        private void CreaDsPerEtichette()
        {
            _dsServizio = new DataSet();
            DataTable dtCartelle = _dsServizio.Tables.Add();

            dtCartelle.TableName = tableName;
            dtCartelle.Columns.Add("IDPRENOTAZIONE", Type.GetType("System.Decimal")).ReadOnly = true;
            dtCartelle.Columns.Add("ACCESSORISTA", Type.GetType("System.String")).ReadOnly    = true;
            dtCartelle.Columns.Add("DATACOLLAUDO", Type.GetType("System.DateTime")).ReadOnly  = true;
            dtCartelle.Columns.Add("PREFISSO", Type.GetType("System.String")).ReadOnly        = true;
            dtCartelle.Columns.Add("PARTE", Type.GetType("System.String")).ReadOnly           = true;
            dtCartelle.Columns.Add("COLORE", Type.GetType("System.String")).ReadOnly          = true;
            dtCartelle.Columns.Add("COMMESSA", Type.GetType("System.String")).ReadOnly        = true;
            dtCartelle.Columns.Add("QUANTITA", Type.GetType("System.String")).ReadOnly        = true; //7
            dtCartelle.Columns.Add("NOTA", Type.GetType("System.String")).ReadOnly            = true; //8
            dtCartelle.Columns.Add("LINEA", Type.GetType("System.String"));
            dtCartelle.Columns.Add("DESCRIZIONE", Type.GetType("System.String"));                     //10
            dtCartelle.Columns.Add("DESTINAZIONE", Type.GetType("System.String"));
            dtCartelle.Columns.Add("NUMERO ETICHETTE", Type.GetType("System.String"));                //12


            foreach (CDCDS.CDC_DETTAGLIO1Row dettaglio in _DS.CDC_DETTAGLIO1)
            {
                DataRow riga = dtCartelle.NewRow();

                riga[0]  = dettaglio.IDPRENOTAZIONE;
                riga[1]  = CDCBLL.ConvertiAccessorista(dettaglio.ACCESSORISTA);
                riga[2]  = dettaglio.DATACOLLAUDO;
                riga[3]  = dettaglio.PREFISSO;
                riga[4]  = dettaglio.PARTE;
                riga[5]  = dettaglio.COLORE;
                riga[6]  = dettaglio.COMMESSAORDINE;
                riga[7]  = dettaglio.QUANTITA;
                riga[8]  = dettaglio.IsNOTECOLLAUDONull() ? string.Empty : dettaglio.NOTECOLLAUDO;
                riga[10] = dettaglio.DESCRIZIONE;
                riga[11] = "GUCCI LOGISTICA";

                if (!dettaglio.IsNOTECOLLAUDONull())
                {
                    riga[12] = EstraiNumeroEtichette(dettaglio.NOTECOLLAUDO, dettaglio.QUANTITA.ToString());
                }

                CDCDS.CDC_ETICHETTE_DETTAGLIORow etichetta = _DS.CDC_ETICHETTE_DETTAGLIO.Where(x => x.PREFISSO == dettaglio.PREFISSO && x.PARTE == dettaglio.PARTE && x.COLORE == dettaglio.COLORE).FirstOrDefault();
                if (etichetta != null)
                {
                    riga[9]  = etichetta.LINEA;
                    riga[10] = etichetta.DESCRIZIONE;
                }

                dtCartelle.Rows.Add(riga);
            }
        }
        public CreaGestioneBrandFrm()
        {
            InitializeComponent();


            CDCBLL bll = new CDCBLL();

            bll.CaricaBrands(_DS);
            bll.CaricaEnti(_DS);//JACOPO

            DataTable listBrands = _DS.CDC_BRANDS.Clone();

            listBrands = _DS.CDC_BRANDS.Copy();


            dgvBrands.ReadOnly            = false;
            dgvBrands.AutoGenerateColumns = true;
            dgvBrands.DataSource          = _DS;
            dgvBrands.DataMember          = _DS.CDC_BRANDS.TableName;

            dgvBrands.Columns["IDBRAND"].Visible         = true;
            dgvBrands.Columns["UTENTE"].Visible          = false;
            dgvBrands.Columns["DATARIFERIMENTO"].Visible = false;

            //dgvExcelCaricato.Columns["IDDETTAGLIO"].Visible = false;
            //dgvExcelCaricato.Columns["IDEXCEL"].Visible = false;
            //dgvExcelCaricato.Columns["IDBRAND"].Visible = false;

            dgvEnti.ReadOnly                           = false;
            dgvEnti.AutoGenerateColumns                = true;
            dgvEnti.DataSource                         = _DS;
            dgvEnti.DataMember                         = _DS.CDC_ENTI.TableName;
            dgvEnti.Columns["IDENTE"].Visible          = false;
            dgvEnti.Columns["UTENTE"].Visible          = false;
            dgvEnti.Columns["DATARIFERIMENTO"].Visible = false;
            dgvEnti.Columns["IDBRAND"].Visible         = false;

            var comboCol = new DataGridViewComboBoxColumn();

            comboCol.HeaderText       = "BRAND";
            comboCol.Name             = "BRAND";
            comboCol.DataPropertyName = "IDBRAND";
            comboCol.AutoComplete     = true;
            comboCol.Width            = 100;
            comboCol.DropDownWidth    = 100;
            comboCol.DataSource       = listBrands; // _DS.CDC_BRANDS.Where(x => x.IDBRAND >0);
            comboCol.DisplayMember    = "CODICE";
            comboCol.ValueMember      = "IDBRAND";
            comboCol.DisplayIndex     = 5;
            dgvEnti.Columns.Add(comboCol);
        }
Beispiel #18
0
        static void Main(string[] args)
        {
            string pathTemporaneo = @"c:\temp\piombo\";
            string filename       = @"C:\VSProgetti\CDCMetal\CDCMetal\CDCMetal\Resources\logo_tf_autodichiarazione.png";
            Bitmap firma          = (Bitmap)Bitmap.FromFile(filename);
            //     Bitmap firma = Properties.Resources.logo_tf_autodichiarazione;
            ImageConverter converter = new ImageConverter();

            byte[] image = (byte[])converter.ConvertTo(firma, typeof(byte[]));

            CDCBLL bll = new CDCBLL();
            CDCDS  ds  = new CDCDS();

            bll.FillCDC_CERTIFICATIPIOMBO(ds);

            StringBuilder files = new StringBuilder();

            foreach (CDCDS.CDC_CERTIFICATIPIOMBORow riga in ds.CDC_CERTIFICATIPIOMBO)
            {
                decimal nPd = riga.PBPPM;
                Color   colore;
                bll.CalcolaEsitoAnalisiPiombo(nPd, out colore);
                string spessore  = string.Empty;
                string lunghezza = string.Empty;
                string larghezza = string.Empty;
                string elemento  = string.Empty;
                if (!riga.IsELEMENTONull())
                {
                    elemento = riga.ELEMENTO.ToString();
                }

                if (!riga.IsLUNGHEZZANull())
                {
                    lunghezza = riga.LUNGHEZZA.ToString();
                }
                if (!riga.IsLARGHEZZANull())
                {
                    larghezza = riga.LARGHEZZA.ToString();
                }

                if (!riga.IsSPESSORENull())
                {
                    spessore = riga.SPESSORE.ToString();
                }
                string path = bll.CreaPDFCertificatoPiombo(elemento, lunghezza, larghezza, spessore.ToString(), riga.CODICE, riga.LOTTO,
                                                           riga.ESITO, colore, riga.METODO, riga.DATACERTIFICATO, riga.PBPPM, riga.CDPPM, pathTemporaneo, image);
                files.AppendLine(path);
            }
        }
        private string EstraiPathFileDaCopiare(CertificatoPiombo cp)
        {
            CDCBLL bll = new CDCBLL();
            string cartella, nomeCampione;
            string fileDaCopiare = cp.path;
            if (string.IsNullOrEmpty(cp.path))
            {
                CDCDS.CDC_CERTIFICATIPIOMBORow certificato = _DS.CDC_CERTIFICATIPIOMBO.Where(x => x.IDCERTIFICATIPIOMBO == cp.IDCERTIFICATIPIOMBO).FirstOrDefault();
                if (certificato == null)
                {
                    return string.Empty;
                }

                fileDaCopiare = bll.CreaNomefileCertificatiAnalisiPiombo(certificato.ELEMENTO, certificato.LUNGHEZZA.ToString(), certificato.LARGHEZZA.ToString(), string.Empty, certificato.CODICE, certificato.DATACERTIFICATO, Contesto.PathAnalisiPiombo, out cartella, out nomeCampione);
            }
            return fileDaCopiare;
        }
Beispiel #20
0
        //private void CreaDsPerColori()
        //{

        //    _dsServizio = new DataSet();
        //    DataTable dtColori = _dsServizio.Tables.Add();
        //    dtColori.TableName = tableName;
        //    dtColori.Columns.Add("IDCOLORE", Type.GetType("System.Decimal")).ReadOnly = true;
        //    dtColori.Columns.Add("COLORECOMPONENTE", Type.GetType("System.String"));
        //    dtColori.Columns.Add("CODICE", Type.GetType("System.String"));
        //    dtColori.Columns.Add("RICHIESTO", Type.GetType("System.String"));
        //    dtColori.Columns.Add("TOLLERANZA", Type.GetType("System.String"));
        //    dtColori.Columns.Add("UNITAMISURA", Type.GetType("System.String"));
        //    dtColori.Columns.Add("UTENTE", Type.GetType("System.String")).ReadOnly = true;
        //    dtColori.Columns.Add("DATARIFERIMENTO", Type.GetType("System.DateTime")).ReadOnly = true;

        //    foreach (CDCDS.CDC_COLORIRow color in _DS.CDC_COLORI)
        //    {
        //        DataRow riga = dtColori.NewRow();

        //        riga[0] = color.IDCOLORE;
        //        riga[1] = color.COLORECOMPONENTE;
        //        riga[2] = color.CODICE;
        //        riga[3] = color.RICHIESTO;
        //        riga[4] = color.TOLLERANZA;
        //        riga[5] = color.UNITAMISURA;
        //        riga[6] = color.UTENTE;
        //        riga[7] = color.DATARIFERIMENTO;

        //        dtColori.Rows.Add(riga);
        //    }

        //    //cerco ed aggiungo riga L se manca
        //    CDCDS.CDC_COLORIRow coloreL = _DS.CDC_COLORI.Where(x => x.CODICE == CDCTipoColore.L).FirstOrDefault();
        //    if (coloreL == null)
        //    {
        //        DataRow riga = dtColori.NewRow();

        //        //riga[0] = color.IDCOLORE;
        //        riga[1] = ddlColore.SelectedItem.ToString();
        //        riga[2] = CDCTipoColore.L;
        //        //riga[3] = color.RICHIESTO;
        //        //riga[4] = color.TOLLERANZA;
        //        //riga[5] = color.UNITAMISURA;
        //        //riga[6] = color.UTENTE;
        //        //riga[7] = color.DATARIFERIMENTO;

        //        dtColori.Rows.Add(riga);
        //    }



        //}
        private void button1_Click(object sender, EventArgs e)
        {
            bool esito = true;

            foreach (CDCDS.CDC_COLORIRow riga in _DS.CDC_COLORI.Rows)
            {
                if (riga.RowState == DataRowState.Added || riga.RowState == DataRowState.Modified)
                {
                    riga.UTENTE          = Contesto.Utente.FULLNAMEUSER;
                    riga.DATARIFERIMENTO = DateTime.Now;
                }
                if (riga.RowState == DataRowState.Added)
                {
                    riga.COLORECOMPONENTE = ddlColore.SelectedItem.ToString();
                }

                if (riga["RICHIESTO"] == DBNull.Value || string.IsNullOrEmpty((string)riga["RICHIESTO"]))
                {
                    esito = false;
                }

                if (riga["TOLLERANZA"] == DBNull.Value || string.IsNullOrEmpty((string)riga["TOLLERANZA"]))
                {
                    esito = false;
                }

                if (riga["UNITAMISURA"] == DBNull.Value || string.IsNullOrEmpty((string)riga["UNITAMISURA"]))
                {
                    esito = false;
                }
            }

            if (!esito)
            {
                lblMessaggio.Text = "Impossibile salvare. Ci sono dei valori mancanti";
                return;
            }



            CDCBLL bll = new CDCBLL();

            bll.SalvaDatiColori(_DS);
            _DS.AcceptChanges();
        }
        private void btnLeggiDati_Click(object sender, EventArgs e)
        {
            btnCreaCartelle.Enabled = false;

            lblMessaggio.Text = string.Empty;
            if (ddlDataCollaudo.SelectedIndex == -1)
            {
                lblMessaggio.Text = "Selezionare una data";
                return;
            }
            if (ddlBrand.SelectedIndex == -1 || ddlBrand.SelectedItem.ToString() == "")
            {
                lblMessaggio.Text = "Selezionare un brand";
                return;
            }


            //DataCollaudo dataSelezionata = (DataCollaudo)ddlDataCollaudo.SelectedItem;
            DataCollaudoSTR dataSelezionata = new DataCollaudoSTR(ddlBrand.SelectedItem.ToString(), ddlDataCollaudo.SelectedItem.ToString());
            CDCBLL          bll             = new CDCBLL();

            _DS = new Entities.CDCDS();
            bll.LeggiCollaudoDaDataSTR(_DS, dataSelezionata);


            if (_DS.CDC_DETTAGLIO.Count > 0)
            {
                btnCreaCartelle.Enabled = true;
            }
            else
            {
                lblMessaggio.Text = "Nessuna riga trovata per questa data";
            }

            //CreaDsPerCartelle(dataSelezionata.Data);
            string[] d = dataSelezionata.Data.Split('/');
            CreaDsPerCartelle(new DateTime(Convert.ToInt32(d[2]), Convert.ToInt32(d[1]), Convert.ToInt32(d[0])));

            dgvDettaglio.AutoGenerateColumns       = true;
            dgvDettaglio.DataSource                = _dsServizio;
            dgvDettaglio.DataMember                = tableName;
            dgvDettaglio.Columns["CARTELLA"].Width = 800;
        }
        private void button2_Click(object sender, EventArgs e)
        {
            foreach (CDCDS.CDC_ENTIRow riga in _DS.CDC_ENTI.Rows)
            {
                if (riga.RowState == DataRowState.Added || riga.RowState == DataRowState.Modified)
                {
                    riga.UTENTE          = Contesto.Utente.FULLNAMEUSER;
                    riga.DATARIFERIMENTO = DateTime.Now;
                }
            }


            CDCBLL bll = new CDCBLL();

            bll.SalvaDatiEnti(_DS);
            _DS.AcceptChanges();

            _DS.CDC_ENTI.Clear();
            bll.CaricaEnti(_DS);
        }
Beispiel #23
0
        public StampaEtichetteFrm(DataSet ds, string zebraPrinter)
        {
            CDCBLL bll = new CDCBLL();

            printer = zebraPrinter;
            InitializeComponent();
            bgw.DoWork                    += Bgw_DoWork;
            bgw.ProgressChanged           += Bgw_ProgressChanged;
            bgw.RunWorkerCompleted        += Bgw_RunWorkerCompleted;
            bgw.WorkerReportsProgress      = true;
            bgw.WorkerSupportsCancellation = true;
            progressBar1.Maximum           = 0;
            foreach (DataRow riga in ds.Tables[tableName].Rows)
            {
                string messaggioVerifica;
                List <Tuple <int, int> > SC_QTA;

                string numeroEtichette = string.Empty;
                if (riga[12] != System.DBNull.Value)
                {
                    numeroEtichette = (string)riga[12];
                }

                if (bll.verificaNumeroEtichette(numeroEtichette, out messaggioVerifica, out SC_QTA))
                {
                    foreach (Tuple <int, int> tupla in SC_QTA)
                    {
                        int sc  = tupla.Item1;
                        int qta = tupla.Item2;
                        progressBar1.Maximum += sc * qta;
                    }
                }
            }

            bgw.RunWorkerAsync(ds);
        }
Beispiel #24
0
        private void btnCreaPdf_Click(object sender, EventArgs e)
        {
            try
            {
                Cursor.Current = Cursors.WaitCursor;

                foreach (CDCDS.CDC_CERTIFICATIPIOMBORow riga in _DS.CDC_CERTIFICATIPIOMBO)
                {
                    if (string.IsNullOrEmpty(riga.LOTTO))
                    {
                        MessageBox.Show("La colonna LOTTO deve essere valorizzata", "ERRORE", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                }

                Bitmap         firma     = Properties.Resources.logo_tf_autodichiarazione;
                ImageConverter converter = new ImageConverter();
                byte[]         image     = (byte[])converter.ConvertTo(firma, typeof(byte[]));

                CDCBLL bll = new CDCBLL();

                StringBuilder files = new StringBuilder();

                foreach (CDCDS.CDC_CERTIFICATIPIOMBORow riga in _DS.CDC_CERTIFICATIPIOMBO)
                {
                    decimal nPd = riga.PBPPM;
                    Color   colore;
                    bll.CalcolaEsitoAnalisiPiombo(nPd, out colore);
                    string spessore  = string.Empty;
                    string lunghezza = string.Empty;
                    string larghezza = string.Empty;
                    string elemento  = string.Empty;
                    if (!riga.IsELEMENTONull())
                    {
                        elemento = riga.ELEMENTO.ToString();
                    }

                    if (!riga.IsLUNGHEZZANull())
                    {
                        lunghezza = riga.LUNGHEZZA.ToString();
                    }
                    if (!riga.IsLARGHEZZANull())
                    {
                        larghezza = riga.LARGHEZZA.ToString();
                    }

                    if (!riga.IsSPESSORENull())
                    {
                        spessore = riga.SPESSORE.ToString();
                    }
                    string path = bll.CreaPDFCertificatoPiombo(elemento, lunghezza, larghezza, spessore.ToString(), riga.CODICE, riga.LOTTO,
                                                               riga.ESITO, colore, riga.METODO, riga.DATACERTIFICATO, riga.PBPPM, riga.CDPPM, Contesto.PathAnalisiPiombo, image);
                    files.AppendLine(path);
                    riga.PATHFILE = path.Length > 300 ? path.Substring(0, 300) : path;
                }
                //List<CDCDS.CDC_CERTIFICATIPIOMBORow> certificati = _DS.CDC_CERTIFICATIPIOMBO.Where(x => x.IsLUNGHEZZANull()).ToList();
                //foreach (CDCDS.CDC_CERTIFICATIPIOMBORow certificato in certificati)
                //    certificato.Delete();
                bll.SalvaCertificatiPiombo(_DS);

                MessageBox.Show("Operazionbe eseguita con successo", "INFORMAZIONE", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                MainForm.LogScriviErrore("ERRORE IN CREA PDF", ex);
                ExceptionFrm frm = new ExceptionFrm(ex);
                frm.ShowDialog();
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }
        private void btnLeggiDati_Click(object sender, EventArgs e)
        {
            lblMessaggio.Text = string.Empty;
            if (ddlDataCollaudo.SelectedIndex == -1)
            {
                lblMessaggio.Text = "Selezionare una data";
                return;
            }
            if (ddlBrand.SelectedIndex == -1 || ddlBrand.SelectedItem.ToString() == "")
            {
                lblMessaggio.Text = "Selezionare un brand";
                return;
            }

            DataCollaudoSTR dataSelezionata = new DataCollaudoSTR(ddlBrand.SelectedItem.ToString(), ddlDataCollaudo.SelectedItem.ToString());
            CDCBLL          bll             = new CDCBLL();

            _DS = new Entities.CDCDS();
            bll.LeggiCollaudoDaDataSTR(_DS, dataSelezionata);
            bll.CaricaBrands(_DS);
            bll.CaricaArticoli(_DS);
            bll.CaricaArticoliDimensioni(_DS);
            bll.CaricaArticoliSpessori(_DS);

            if (_DS.CDC_DETTAGLIO.Count > 0)
            {
                //List<decimal> IDDETTAGLIO = _DS.CDC_DETTAGLIO.Select(x => x.IDDETTAGLIO).Distinct().ToList();
                //bll.FillCDC_CONFORMITA(_DS, IDDETTAGLIO);
                //bll.CDC_PDF(_DS, IDDETTAGLIO);
            }
            else
            {
                lblMessaggio.Text = "Nessuna riga trovata per questa data";
            }

            CreaDsPerDettaglio();



            dgvDettaglio.ReadOnly = true;
            dgvDettaglio.AllowUserToDeleteRows           = false;
            dgvDettaglio.AllowUserToAddRows              = false;
            dgvDettaglio.AutoGenerateColumns             = true;
            dgvDettaglio.DataSource                      = _dsServizio;
            dgvDettaglio.DataMember                      = tableName;
            dgvDettaglio.Columns["ACCESSORISTA"].Visible = false;

            foreach (DataGridViewRow riga in dgvDettaglio.Rows)
            {
                string parte  = (string)riga.Cells["PARTE"].Value;
                string colore = (string)riga.Cells["COLORE"].Value;

                CDCDS.CDC_ARTICOLIRow arow = _DS.CDC_ARTICOLI.Where(x => x.PARTE == parte && x.COLORE == colore).FirstOrDefault();
                if (arow == null)
                {
                    riga.Cells[1].Style.BackColor = Color.Yellow;
                    riga.Cells[2].Style.BackColor = Color.Yellow;
                }
                else
                {
                    List <CDCDS.CDC_ARTICOLI_DIMENSIONIRow> artdimensioni = _DS.CDC_ARTICOLI_DIMENSIONI.Where(x => x.IDARTICOLO == arow.IDARTICOLO).OrderBy(x => x.IDDIMENSIONE).ToList();
                    List <CDCDS.CDC_ARTICOLI_SPESSORIRow>   artspessori   = _DS.CDC_ARTICOLI_SPESSORI.Where(x => x.IDARTICOLO == arow.IDARTICOLO).OrderBy(x => x.IDSPESSORE).ToList();
                    if (artspessori.Count == 0 || artdimensioni.Count == 0)
                    {
                        riga.Cells[1].Style.BackColor = Color.Orange;
                        riga.Cells[2].Style.BackColor = Color.Orange;
                    }
                    else
                    {
                        riga.Cells[1].Style.BackColor = Color.White;
                        riga.Cells[2].Style.BackColor = Color.White;
                    }
                }
            }

            dgvArticoli.DataSource = null;
            dgvArticoli.DataMember = "";

            dgvDimensioni.DataSource = null;
            dgvDimensioni.DataMember = "";

            dgvSpessori.DataSource = null;
            dgvSpessori.DataMember = "";
        }
        private void btnLeggiDati_Click(object sender, EventArgs e)
        {
            btnCreaPDF.Enabled = false;

            lblMessaggio.Text = string.Empty;
            if (ddlDataCollaudo.SelectedIndex == -1)
            {
                lblMessaggio.Text = "Selezionare una data";
                return;
            }

            DataCollaudo dataSelezionata = (DataCollaudo)ddlDataCollaudo.SelectedItem;

            CDCBLL bll = new CDCBLL();

            _DS = new Entities.CDCDS();

            bll.LeggiCollaudoDaData(_DS, dataSelezionata);


            if (_DS.CDC_DETTAGLIO.Count > 0)
            {
                btnCreaPDF.Enabled = true;
                List <decimal> IDDETTAGLIO = _DS.CDC_DETTAGLIO.Select(x => x.IDDETTAGLIO).Distinct().ToList();
                bll.FillCDC_DIMEMSIONI(_DS, IDDETTAGLIO);
                bll.CDC_PDF(_DS, IDDETTAGLIO);
            }
            else
            {
                lblMessaggio.Text = "Nessuna riga trovata per questa data";
            }


            dgvDettaglio.AutoGenerateColumns = true;
            dgvDettaglio.DataSource          = _DS;
            dgvDettaglio.DataMember          = _DS.CDC_DETTAGLIO.TableName;

            dgvDettaglio.Columns[0].Visible  = false;
            dgvDettaglio.Columns[2].Visible  = false;
            dgvDettaglio.Columns[3].Visible  = false;
            dgvDettaglio.Columns[9].Visible  = false;
            dgvDettaglio.Columns[10].Visible = false;
            dgvDettaglio.Columns[12].Visible = false;
            dgvDettaglio.Columns[13].Visible = false;
            dgvDettaglio.Columns[14].Visible = false;
            dgvDettaglio.Columns[15].Visible = false;
            dgvDettaglio.Columns[16].Visible = false;
            dgvDettaglio.Columns[17].Visible = false;
            dgvDettaglio.Columns[18].Visible = false;
            dgvDettaglio.Columns[19].Visible = false;
            dgvDettaglio.Columns[20].Visible = false;
            dgvDettaglio.Columns[22].Visible = false;
            dgvDettaglio.Columns[22].Visible = false;
            dgvDettaglio.Columns[23].Visible = false;
            dgvDettaglio.Columns[24].Visible = false;
            dgvDettaglio.Columns[25].Visible = false;
            dgvDettaglio.Columns[26].Visible = false;
            dgvDettaglio.Columns[27].Visible = false;
            dgvDettaglio.Columns[28].Visible = false;

            foreach (DataGridViewColumn column in dgvDettaglio.Columns)
            {
                column.SortMode = DataGridViewColumnSortMode.NotSortable;
            }
        }
        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);
            }
        }
        private void btnLeggiDati_Click(object sender, EventArgs e)
        {

            lblMessaggio.Text = string.Empty;
            if (ddlDataCollaudo.SelectedIndex == -1)
            {
                lblMessaggio.Text = "Selezionare una data";
                return;
            }
            if (ddlBrand.SelectedIndex == -1 || ddlBrand.SelectedItem.ToString() == "")
            {
                lblMessaggio.Text = "Selezionare un brand";
                return;
            }

            try
            {
                // DataCollaudo dataSelezionata = (DataCollaudo)ddlDataCollaudo.SelectedItem;
                DataCollaudoSTR dataSelezionata = new DataCollaudoSTR(ddlBrand.SelectedItem.ToString(), ddlDataCollaudo.SelectedItem.ToString());
              
              




                CDCBLL bll = new CDCBLL();

                _DS.CDC_EXCEL.Clear();
                _DS.CDC_DETTAGLIO.Clear();
                _dettaglio = null;

                bll.LeggiCollaudoDaDataSTR(_DS, dataSelezionata);


                if (_DS.CDC_DETTAGLIO.Count > 0)
                {
                    List<decimal> IDDETTAGLIO = _DS.CDC_DETTAGLIO.Select(x => x.IDDETTAGLIO).Distinct().ToList();
                    bll.FillCDC_ASSOCIAZIONEPIOMBO(_DS, IDDETTAGLIO);
                }
                else
                {
                    lblMessaggio.Text = "Nessuna riga trovata per questa data";
                }


                dgvDettaglio.AutoGenerateColumns = true;
                dgvDettaglio.DataSource = _DS;
                dgvDettaglio.DataMember = _DS.CDC_DETTAGLIO.TableName;

                dgvDettaglio.Columns[0].Visible = false;
                dgvDettaglio.Columns[2].Visible = false;
                dgvDettaglio.Columns[3].Visible = false;
                dgvDettaglio.Columns[9].Visible = false;
                dgvDettaglio.Columns[10].Visible = false;
                dgvDettaglio.Columns[11].Width = 130;
                dgvDettaglio.Columns[12].Visible = false;
                dgvDettaglio.Columns[13].Visible = false;
                dgvDettaglio.Columns[15].Visible = false;
                dgvDettaglio.Columns[16].Visible = false;
                dgvDettaglio.Columns[17].Visible = false;
                dgvDettaglio.Columns[18].Visible = false;
                dgvDettaglio.Columns[19].Visible = false;
                dgvDettaglio.Columns[20].Visible = false;
                dgvDettaglio.Columns[22].Visible = false;
                dgvDettaglio.Columns[22].Visible = false;
                dgvDettaglio.Columns[23].Visible = false;
                dgvDettaglio.Columns[24].Visible = false;
                dgvDettaglio.Columns[25].Visible = false;
                dgvDettaglio.Columns[26].Visible = false;
                dgvDettaglio.Columns[27].Visible = false;
                dgvDettaglio.Columns[28].Visible = false;

                foreach (DataGridViewColumn column in dgvDettaglio.Columns)
                {
                    column.SortMode = DataGridViewColumnSortMode.NotSortable;
                }

                evidenziaDettagliAssociati();
            }
            catch (Exception ex)
            {
                MostraEccezione(ex, "Errore in leggi dati");
            }

        }
        private void buSalvaDimensioniSpessori_Click(object sender, EventArgs e)
        {
            string tableName1 = "ARTICOLI_DIMENSIONI";
            string tableName2 = "ARTICOLI_SPESSORI";

            //if (_dsServizio.Tables[tableName1].Rows.Count == 0 && _dsServizio.Tables[tableName2].Rows.Count == 0)
            //    return;



            try
            {
                //DIMENSIONI
                foreach (DataRow riga in _dsServizio.Tables[tableName1].Rows)
                {
                    if (riga["IDDIMENSIONE"] != DBNull.Value)
                    {
                        decimal IDDIMENSIONE = (decimal)riga["IDDIMENSIONE"];

                        // && x.RIFERIMENTO.Trim() == RIFERIMENTO
                        CDCDS.CDC_ARTICOLI_DIMENSIONIRow articolo_dimensioni = _DS.CDC_ARTICOLI_DIMENSIONI.Where(x => x.IDDIMENSIONE == IDDIMENSIONE).FirstOrDefault();
                        if (articolo_dimensioni == null)
                        {
                            articolo_dimensioni = _DS.CDC_ARTICOLI_DIMENSIONI.NewCDC_ARTICOLI_DIMENSIONIRow();

                            articolo_dimensioni.IDARTICOLO = ((decimal)riga["IDARTICOLO"]);

                            articolo_dimensioni.RIFERIMENTO = ((string)riga["RIFERIMENTO"]).ToUpper().Trim();
                            articolo_dimensioni.GRANDEZZA   = ((string)riga["GRANDEZZA"]).ToUpper().Trim();
                            articolo_dimensioni.RICHIESTO   = (double)riga["RICHIESTO"];
                            articolo_dimensioni.TOLLERANZA  = (double)riga["TOLLERANZA"];
                            articolo_dimensioni.MINIMO      = (double)riga["MINIMO"];
                            articolo_dimensioni.MASSIMO     = (double)riga["MASSIMO"];
                            articolo_dimensioni.TAMPONE     = ConvertiInStringa(riga["TAMPONE"]).ToUpper().Trim();
                            articolo_dimensioni.CONTAMPONE  = ConvertiBoolInStringa(riga["CONTAMPONE"]); // ((string)riga["CONTAMPONE"]).ToUpper().Trim();

                            articolo_dimensioni.DATAINSERIMENTO = DateTime.Now;
                            articolo_dimensioni.UTENTE          = Contesto.Utente.FULLNAMEUSER;
                            _DS.CDC_ARTICOLI_DIMENSIONI.AddCDC_ARTICOLI_DIMENSIONIRow(articolo_dimensioni);
                        }
                        else
                        {
                            articolo_dimensioni.IDARTICOLO = ((decimal)riga["IDARTICOLO"]);

                            articolo_dimensioni.RIFERIMENTO     = ((string)riga["RIFERIMENTO"]).ToUpper().Trim();
                            articolo_dimensioni.GRANDEZZA       = ((string)riga["GRANDEZZA"]).ToUpper().Trim();
                            articolo_dimensioni.RICHIESTO       = (double)riga["RICHIESTO"];
                            articolo_dimensioni.TOLLERANZA      = (double)riga["TOLLERANZA"];
                            articolo_dimensioni.MINIMO          = (double)riga["MINIMO"];
                            articolo_dimensioni.MASSIMO         = (double)riga["MASSIMO"];
                            articolo_dimensioni.TAMPONE         = ConvertiInStringa(riga["TAMPONE"]).ToUpper().Trim();
                            articolo_dimensioni.CONTAMPONE      = ConvertiBoolInStringa(riga["CONTAMPONE"]); //((string)riga["CONTAMPONE"]).ToUpper().Trim();
                            articolo_dimensioni.DATAINSERIMENTO = DateTime.Now;
                            articolo_dimensioni.UTENTE          = Contesto.Utente.FULLNAMEUSER;
                        }
                    }
                    else
                    {
                        CDCDS.CDC_ARTICOLI_DIMENSIONIRow articolo_dimensioni = _DS.CDC_ARTICOLI_DIMENSIONI.NewCDC_ARTICOLI_DIMENSIONIRow();

                        articolo_dimensioni.IDARTICOLO = selIDARTICOLO;

                        articolo_dimensioni.RIFERIMENTO     = ((string)riga["RIFERIMENTO"]).ToUpper().Trim();
                        articolo_dimensioni.GRANDEZZA       = ((string)riga["GRANDEZZA"]).ToUpper().Trim();
                        articolo_dimensioni.RICHIESTO       = (double)riga["RICHIESTO"];
                        articolo_dimensioni.TOLLERANZA      = (double)riga["TOLLERANZA"];
                        articolo_dimensioni.MINIMO          = (double)riga["MINIMO"];
                        articolo_dimensioni.MASSIMO         = (double)riga["MASSIMO"];
                        articolo_dimensioni.TAMPONE         = ConvertiInStringa(riga["TAMPONE"]).ToUpper().Trim();
                        articolo_dimensioni.CONTAMPONE      = ConvertiBoolInStringa(riga["CONTAMPONE"]); //((string)riga["CONTAMPONE"]).ToUpper().Trim();
                        articolo_dimensioni.DATAINSERIMENTO = DateTime.Now;
                        articolo_dimensioni.UTENTE          = Contesto.Utente.FULLNAMEUSER;

                        _DS.CDC_ARTICOLI_DIMENSIONI.AddCDC_ARTICOLI_DIMENSIONIRow(articolo_dimensioni);
                    }
                }

                //SPESSORI
                foreach (DataRow riga in _dsServizio.Tables[tableName2].Rows)
                {
                    if (riga["IDSPESSORE"] != DBNull.Value)
                    {
                        decimal IDSPESSORE = (decimal)riga["IDSPESSORE"];

                        // && x.RIFERIMENTO.Trim() == RIFERIMENTO
                        CDCDS.CDC_ARTICOLI_SPESSORIRow articolo_spessori = _DS.CDC_ARTICOLI_SPESSORI.Where(x => x.IDSPESSORE == IDSPESSORE).FirstOrDefault();
                        if (articolo_spessori == null)
                        {
                            articolo_spessori = _DS.CDC_ARTICOLI_SPESSORI.NewCDC_ARTICOLI_SPESSORIRow();

                            articolo_spessori.IDARTICOLO = ((decimal)riga["IDARTICOLO"]);

                            articolo_spessori.ETICHETTA = ((string)riga["ETICHETTA"]).ToUpper().Trim();
                            articolo_spessori.MINIMO    = (double)riga["MINIMO"];
                            articolo_spessori.MASSIMO   = (double)riga["MASSIMO"];
                            articolo_spessori.NOMINALE  = (double)riga["NOMINALE"];

                            articolo_spessori.DATAINSERIMENTO = DateTime.Now;
                            articolo_spessori.UTENTE          = Contesto.Utente.FULLNAMEUSER;
                            _DS.CDC_ARTICOLI_SPESSORI.AddCDC_ARTICOLI_SPESSORIRow(articolo_spessori);
                        }
                        else
                        {
                            articolo_spessori.IDARTICOLO = ((decimal)riga["IDARTICOLO"]);

                            articolo_spessori.ETICHETTA       = ((string)riga["ETICHETTA"]).ToUpper().Trim();
                            articolo_spessori.MINIMO          = (double)riga["MINIMO"];
                            articolo_spessori.MASSIMO         = (double)riga["MASSIMO"];
                            articolo_spessori.NOMINALE        = (double)riga["NOMINALE"];
                            articolo_spessori.DATAINSERIMENTO = DateTime.Now;
                            articolo_spessori.UTENTE          = Contesto.Utente.FULLNAMEUSER;
                        }
                    }
                    else
                    {
                        CDCDS.CDC_ARTICOLI_SPESSORIRow articolo_spessori = _DS.CDC_ARTICOLI_SPESSORI.NewCDC_ARTICOLI_SPESSORIRow();

                        articolo_spessori.IDARTICOLO = selIDARTICOLO;

                        articolo_spessori.ETICHETTA       = ((string)riga["ETICHETTA"]).ToUpper().Trim();
                        articolo_spessori.MINIMO          = (double)riga["MINIMO"];
                        articolo_spessori.MASSIMO         = (double)riga["MASSIMO"];
                        articolo_spessori.NOMINALE        = (double)riga["NOMINALE"];
                        articolo_spessori.DATAINSERIMENTO = DateTime.Now;
                        articolo_spessori.UTENTE          = Contesto.Utente.FULLNAMEUSER;

                        _DS.CDC_ARTICOLI_SPESSORI.AddCDC_ARTICOLI_SPESSORIRow(articolo_spessori);
                    }
                }


                //cerco i cancellati e li marco
                List <CDCDS.CDC_ARTICOLI_DIMENSIONIRow> art_dims = _DS.CDC_ARTICOLI_DIMENSIONI.Where(x => x.RowState != DataRowState.Added && x.IDARTICOLO == selIDARTICOLO).ToList();
                foreach (CDCDS.CDC_ARTICOLI_DIMENSIONIRow art_dim in art_dims)
                {
                    DataRow[] art = _dsServizio.Tables["ARTICOLI_DIMENSIONI"].Select("IDDIMENSIONE = " + art_dim.IDDIMENSIONE.ToString());

                    if (art.GetLength(0) == 0)
                    {
                        art_dim.DATAINSERIMENTO = DateTime.Now;
                        art_dim.UTENTE          = Contesto.Utente.FULLNAMEUSER;
                        art_dim.DELETED         = "S";
                    }
                }

                List <CDCDS.CDC_ARTICOLI_SPESSORIRow> art_spess = _DS.CDC_ARTICOLI_SPESSORI.Where(x => x.RowState != DataRowState.Added && x.IDARTICOLO == selIDARTICOLO).ToList();
                foreach (CDCDS.CDC_ARTICOLI_SPESSORIRow art_spes in art_spess)
                {
                    DataRow[] art = _dsServizio.Tables["ARTICOLI_SPESSORI"].Select("IDSPESSORE = " + art_spes.IDSPESSORE.ToString());

                    if (art.GetLength(0) == 0)
                    {
                        art_spes.DATAINSERIMENTO = DateTime.Now;
                        art_spes.UTENTE          = Contesto.Utente.FULLNAMEUSER;
                        art_spes.DELETED         = "S";
                    }
                }



                CDCBLL bll = new CDCBLL();
                bll.SalvaDatiArticoli_Dimensioni(_DS);
                bll.SalvaDatiArticoli_Spessori(_DS);

                _DS.CDC_ARTICOLI_DIMENSIONI.AcceptChanges();
                _DS.CDC_ARTICOLI_SPESSORI.AcceptChanges();

                _DS.CDC_ARTICOLI_DIMENSIONI.Clear();
                _DS.CDC_ARTICOLI_SPESSORI.Clear();

                bll.CaricaArticoliDimensioni(_DS);
                bll.CaricaArticoliSpessori(_DS);

                CaricaDimensioniSpessori(selIDARTICOLO);
            }
            catch (Exception ex)
            {
                MostraEccezione(ex, "Errore in Salva Dimensioni Spessori");
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }


            foreach (DataGridViewRow riga in dgvDettaglio.Rows)
            {
                string parte  = (string)riga.Cells["PARTE"].Value;
                string colore = (string)riga.Cells["COLORE"].Value;

                CDCDS.CDC_ARTICOLIRow arow = _DS.CDC_ARTICOLI.Where(x => x.PARTE == parte && x.COLORE == colore).FirstOrDefault();
                if (arow == null)
                {
                    riga.Cells[1].Style.BackColor = Color.Yellow;
                    riga.Cells[2].Style.BackColor = Color.Yellow;
                }
                else
                {
                    List <CDCDS.CDC_ARTICOLI_DIMENSIONIRow> artdimensioni = _DS.CDC_ARTICOLI_DIMENSIONI.Where(x => x.IDARTICOLO == arow.IDARTICOLO).OrderBy(x => x.IDDIMENSIONE).ToList();
                    List <CDCDS.CDC_ARTICOLI_SPESSORIRow>   artspessori   = _DS.CDC_ARTICOLI_SPESSORI.Where(x => x.IDARTICOLO == arow.IDARTICOLO).OrderBy(x => x.IDSPESSORE).ToList();
                    if (artspessori.Count == 0 || artdimensioni.Count == 0)
                    {
                        riga.Cells[1].Style.BackColor = Color.Orange;
                        riga.Cells[2].Style.BackColor = Color.Orange;
                    }
                    else
                    {
                        riga.Cells[1].Style.BackColor = Color.White;
                        riga.Cells[2].Style.BackColor = Color.White;
                    }
                }
            }
        }
        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 ");

            }
        }