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