예제 #1
0
        private void dgvDettaglio_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                lblMessaggio.Text    = string.Empty;
                txtMateriaPrima.Text = string.Empty;

                if (e.RowIndex == -1)
                {
                    return;
                }
                DataRow r           = _DS.CDC_DETTAGLIO.Rows[e.RowIndex];
                decimal IDDETTAGLIO = (decimal)r[0];
                _dettaglio = _DS.CDC_DETTAGLIO.Where(x => x.IDDETTAGLIO == IDDETTAGLIO).FirstOrDefault();

                lstCertificatiAssociati.Items.Clear();

                CaricaCertificatiPiombo(string.Empty);
                CDCDS.CDC_MATERIAPRIMARow materiaPrima = _DS.CDC_MATERIAPRIMA.Where(x => x.PARTE == _dettaglio.PARTE).FirstOrDefault();
                if (materiaPrima != null)
                {
                    txtMateriaPrima.Text = materiaPrima.MATERIAPRIMA;
                }
            }
            catch (Exception ex)
            {
                MostraEccezione(ex, "Errore in dgvDettaglio_CellClick");
            }
        }
예제 #2
0
        private void dgvDettaglio_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                lblMessaggio.Text = string.Empty;

                if (e.RowIndex == -1)
                {
                    return;
                }
                DataRow r           = _DS.CDC_DETTAGLIO.Rows[e.RowIndex];
                decimal IDDETTAGLIO = (decimal)r[0];
                _dettaglio = _DS.CDC_DETTAGLIO.Where(x => x.IDDETTAGLIO == IDDETTAGLIO).FirstOrDefault();

                ImpostaApplicazione(_dettaglio.COLORE, _dettaglio.PARTE);
                _dsServizio = new DataSet();

                CalcolaNumeroCampioni();

                CDCDS.CDC_GALVANICARow galvanica = _DS.CDC_GALVANICA.Where(x => x.IDDETTAGLIO == IDDETTAGLIO).FirstOrDefault();
                if (galvanica != null)
                {
                    CaricaCampioniMisuraPrecedente(galvanica);
                }
                else
                {
                    if (_dsServizio.Tables[tblMisure] != null)
                    {
                        _dsServizio.Tables.Remove(tblMisure);
                    }

                    DataTable dtDimensioni = _dsServizio.Tables.Add();
                    dtDimensioni.TableName = tblMisure;
                    dtDimensioni.Columns.Add("IDPRENOTAZIONE", Type.GetType("System.Decimal"));
                    dtDimensioni.Columns.Add("IDDETTAGLIO", Type.GetType("System.Decimal"));
                    dtDimensioni.Columns.Add("MISURA", Type.GetType("System.Int32"));

                    if (_dsServizio.Tables[tblAggregati] != null)
                    {
                        _dsServizio.Tables.Remove(tblAggregati);
                    }
                    DataTable dtAggregati = _dsServizio.Tables.Add();
                    dtAggregati.TableName = tblAggregati;
                    dtAggregati.Columns.Add("DATO", Type.GetType("System.String"));

                    mostradgvAggregati();
                    mostradgvMisure();
                }
                ImpostaSpessore(_dettaglio.PARTE, _dettaglio.COLORE);
            }
            catch (Exception ex)
            {
                MostraEccezione(ex, "Errore in dgvDettaglio_CellClick");
            }
        }
예제 #3
0
        private bool EstraiValoreCellaDecimal(string cella, string colonna, CDCDS.CDC_DETTAGLIORow dettaglio, out string messaggioErrore)
        {
            messaggioErrore = string.Empty;
            decimal aux;

            if (!decimal.TryParse(cella, out aux))
            {
                messaggioErrore = string.Format("Errore lettura colonna ID {0} il valore non è un numero", colonna);
                return(false);
            }
            else
            {
                dettaglio[colonna] = aux;
            }
            return(true);
        }
        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");
            }

        }
예제 #6
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;
            }
            try
            {
                DataCollaudo dataSelezionata = (DataCollaudo)ddlDataCollaudo.SelectedItem;

                CDCBLL bll = new CDCBLL();

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

                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_GALVANICA(_DS, IDDETTAGLIO, tipoCertificato);
                    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[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;
                }

                evidenziaPDFFatti();
            }
            catch (Exception ex)
            {
                MostraEccezione(ex, "Errore in leggi dati");
            }
        }
예제 #7
0
        public bool ReadCDC(Stream stream, CDCDS ds, decimal IDEXCEL, string utente, out string messaggioErrore)
        {
            messaggioErrore = string.Empty;
            SpreadsheetDocument document          = SpreadsheetDocument.Open(stream, true);
            SharedStringTable   sharedStringTable = document.WorkbookPart.SharedStringTablePart.SharedStringTable;

            WorkbookPart wbPart = document.WorkbookPart;

            WorksheetPart    worksheetPart    = wbPart.WorksheetParts.First();
            SheetData        sheetData        = worksheetPart.Worksheet.Elements <SheetData>().First();
            CellFormats      cellFormats      = wbPart.WorkbookStylesPart.Stylesheet.CellFormats;
            NumberingFormats numberingFormats = wbPart.WorkbookStylesPart.Stylesheet.NumberingFormats;

            int  rowCount          = sheetData.Elements <Row>().Count();
            bool formatoExcelNuovo = false;

            if (rowCount > 0)
            {
                Row  r    = sheetData.Elements <Row>().FirstOrDefault();
                Cell cell = r.Elements <Cell>().FirstOrDefault();

                string cella = EstraiValoreCella(cell, sharedStringTable, cellFormats, numberingFormats);
                if (cella == "ID Prenotazione Collaudo")
                {
                    formatoExcelNuovo = true;
                }
            }


            bool intestazione = true;

            foreach (Row r in sheetData.Elements <Row>())
            {
                if (intestazione)
                {
                    intestazione = false;
                    continue;
                }
                bool esito = true;
                CDCDS.CDC_DETTAGLIORow dettaglio = ds.CDC_DETTAGLIO.NewCDC_DETTAGLIORow();
                dettaglio.IDEXCEL = IDEXCEL;
                int  count     = r.Elements <Cell>().Count();
                bool saltaRiga = false;
                foreach (Cell cell in r.Elements <Cell>())
                {
                    string cella = EstraiValoreCella(cell, sharedStringTable, cellFormats, numberingFormats);
                    cella = cella.Trim();
                    string colonna = GetColumnReference(cell);

                    if (saltaRiga)
                    {
                        continue;
                    }

                    switch (colonna)
                    {
                    case "A":     //idprenotazione
                        if (string.IsNullOrEmpty(cella))
                        {
                            saltaRiga = true;
                            continue;
                        }
                        esito = EstraiValoreCellaDecimal(cella, "IDPRENOTAZIONE", dettaglio, out messaggioErrore);
                        break;

                    case "B":     // id_verbale
                    {
                        int lunghezza = 10;
                        dettaglio.IDVERBALE = cella.Length > lunghezza?cella.Substring(0, lunghezza) : cella;
                    }
                    break;

                    case "C":     // data_collaudo
                        if (!VerificaData(cella))
                        {
                            messaggioErrore = "La colonna DATA COLLAUDO non è una data nel formato dd/mm/yyyy";
                            esito           = false;
                        }
                        else
                        {
                            int lunghezza = 10;
                            dettaglio.DATACOLLAUDO = cella.Length > lunghezza?cella.Substring(0, lunghezza) : cella;
                        }
                        break;

                    case "D":     // accessorista
                    {
                        int lunghezza = 30;
                        dettaglio.ACCESSORISTA = cella.Length > lunghezza?cella.Substring(0, lunghezza) : cella;
                    }
                    break;

                    case "E":     // prefisso
                    {
                        int lunghezza = 7;
                        dettaglio.PREFISSO = cella.Length > lunghezza?cella.Substring(0, lunghezza) : cella;
                    }
                    break;

                    case "F":     // parte
                    {
                        int lunghezza = 6;
                        dettaglio.PARTE = cella.Length > lunghezza?cella.Substring(0, lunghezza) : cella;
                    }
                    break;

                    case "G":     // colore
                    {
                        int lunghezza = 5;
                        dettaglio.COLORE = cella.Length > lunghezza?cella.Substring(0, lunghezza) : cella.PadLeft(4, '0');
                    }
                    break;

                    case "H":     // misura
                    {
                        esito = EstraiValoreCellaDecimal(cella, "MISURA", dettaglio, out messaggioErrore);
                    }
                    break;

                    case "I":     // livellodiff
                        if (!string.IsNullOrEmpty(cella))
                        {
                            esito = EstraiValoreCellaDecimal(cella, "LIVELLODIFF", dettaglio, out messaggioErrore);
                        }
                        break;

                    case "J":     // commessaordine
                    {
                        int lunghezza = 18;
                        dettaglio.COMMESSAORDINE = cella.Length > lunghezza?cella.Substring(0, lunghezza) : cella;
                    }
                    break;

                    case "K":     // ente
                    {
                        int lunghezza = 5;
                        dettaglio.ENTE = cella.Length > lunghezza?cella.Substring(0, lunghezza) : cella;
                    }
                    break;

                    case "L":     // um
                    {
                        if (formatoExcelNuovo)
                        {
                            dettaglio.UM = string.Empty;
                            esito        = EstraiValoreCellaDecimal(cella, "QUANTITA", dettaglio, out messaggioErrore);
                        }
                        else
                        {           // UM
                            int lunghezza = 2;
                            dettaglio.UM = cella.Length > lunghezza?cella.Substring(0, lunghezza) : cella;
                        }
                    }
                    break;

                    case "M":     // qta
                        if (formatoExcelNuovo)
                        {
                            int lunghezza = 6;
                            dettaglio.QUANTITAVALIDITA = cella.Length > lunghezza?cella.Substring(0, lunghezza) : cella;
                        }
                        else
                        {
                            esito = EstraiValoreCellaDecimal(cella, "QUANTITA", dettaglio, out messaggioErrore);
                        }
                        break;

                    case "N":     // assegn
                    {
                        if (formatoExcelNuovo)
                        {
                            dettaglio.ASSEGN = string.Empty;
                            int lunghezza = 5;
                            dettaglio.AUTO = cella.Length > lunghezza?cella.Substring(0, lunghezza) : cella;
                        }
                        else
                        {
                            int lunghezza = 2;
                            dettaglio.ASSEGN = cella.Length > lunghezza?cella.Substring(0, lunghezza) : cella;
                        }
                    }
                    break;

                    case "O":     // auto
                    {
                        if (formatoExcelNuovo)
                        {
                            int lunghezza = 5;
                            dettaglio.COLLTO = cella.Length > lunghezza?cella.Substring(0, lunghezza) : cella;
                        }
                        else
                        {
                            int lunghezza = 5;
                            dettaglio.AUTO = cella.Length > lunghezza?cella.Substring(0, lunghezza) : cella;
                        }
                    }
                    break;

                    case "P":     // coll_to
                    {
                        if (formatoExcelNuovo)
                        {
                            int lunghezza = 2;
                            dettaglio.LOTTOBLOCCATO = cella.Length > lunghezza?cella.Substring(0, lunghezza) : cella;
                        }
                        else
                        {
                            int lunghezza = 5;
                            dettaglio.COLLTO = cella.Length > lunghezza?cella.Substring(0, lunghezza) : cella;
                        }
                    }
                    break;

                    case "Q":     // qtavalidita
                    {
                        if (formatoExcelNuovo)
                        {
                            int lunghezza = 2;
                            dettaglio.VERBALEBLOCCATO = cella.Length > lunghezza?cella.Substring(0, lunghezza) : cella;
                        }
                        else
                        {
                            int lunghezza = 6;
                            dettaglio.QUANTITAVALIDITA = cella.Length > lunghezza?cella.Substring(0, lunghezza) : cella;
                        }
                    }
                    break;

                    case "R":     // lotto_bloccato
                    {
                        if (!formatoExcelNuovo)
                        {
                            int lunghezza = 2;
                            dettaglio.LOTTOBLOCCATO = cella.Length > lunghezza?cella.Substring(0, lunghezza) : cella;
                        }
                    }
                    break;

                    case "S":     // verbalebloccato
                    {
                        if (!formatoExcelNuovo)
                        {
                            int lunghezza = 2;
                            dettaglio.VERBALEBLOCCATO = cella.Length > lunghezza?cella.Substring(0, lunghezza) : cella;
                        }
                    }
                    break;

                    case "T":     // deroga
                    {
                        if (!formatoExcelNuovo)
                        {
                            int lunghezza = 2;
                            dettaglio.DEROGA = cella.Length > lunghezza?cella.Substring(0, lunghezza) : cella;
                        }
                        else
                        {
                            dettaglio.DEROGA = string.Empty;
                        }
                    }
                    break;

                    case "U":     // controllo dimensionale
                    {
                        if (!formatoExcelNuovo)
                        {
                            int lunghezza = 2;
                            dettaglio.CONTROLLODIMENSIONALE = cella.Length > lunghezza?cella.Substring(0, lunghezza) : cella;
                        }
                        else
                        {
                            dettaglio.CONTROLLODIMENSIONALE = string.Empty;
                        }
                    }
                    break;

                    case "V":     // controllo estetico
                    {
                        if (!formatoExcelNuovo)
                        {
                            int lunghezza = 2;
                            dettaglio.CONTROLLOESTETICO = cella.Length > lunghezza?cella.Substring(0, lunghezza) : cella;
                        }
                        else
                        {
                            dettaglio.CONTROLLOESTETICO = string.Empty;
                        }
                    }
                    break;

                    case "W":     // controllo funzionale
                    {
                        if (!formatoExcelNuovo)
                        {
                            int lunghezza = 2;
                            dettaglio.CONTROLLOFUNZIONALE = cella.Length > lunghezza?cella.Substring(0, lunghezza) : cella;
                        }
                        else
                        {
                            dettaglio.CONTROLLOFUNZIONALE = string.Empty;
                        }
                    }
                    break;

                    case "X":     // esitotest chimico
                    {
                        if (!formatoExcelNuovo)
                        {
                            int lunghezza = 2;
                            dettaglio.ESITOTESTCHIMICO = cella.Length > lunghezza?cella.Substring(0, lunghezza) : cella;
                        }
                        else
                        {
                            dettaglio.ESITOTESTCHIMICO = string.Empty;
                        }
                    }
                    break;

                    case "Y":     // test fisico
                    {
                        if (!formatoExcelNuovo)
                        {
                            int lunghezza = 2;
                            dettaglio.TESTFISICO = cella.Length > lunghezza?cella.Substring(0, lunghezza) : cella;
                        }
                        else
                        {
                            dettaglio.TESTFISICO = string.Empty;
                        }
                    }
                    break;

                    case "Z":     // notecollaudo
                    {
                        if (!formatoExcelNuovo)
                        {
                            int lunghezza = 100;
                            dettaglio.NOTECOLLAUDO = cella.Length > lunghezza?cella.Substring(0, lunghezza) : cella;
                        }
                        else
                        {
                            dettaglio.NOTECOLLAUDO = string.Empty;
                        }
                    }
                    break;

                    case "AA":     // assegnazione
                    {
                        if (!formatoExcelNuovo)
                        {
                            int lunghezza = 500;
                            dettaglio.ASSEGNAZIONE = cella.Length > lunghezza?cella.Substring(0, lunghezza) : cella;
                        }
                        else
                        {
                            dettaglio.ASSEGNAZIONE = string.Empty;
                        }
                    }
                    break;
                    }
                    if (!esito)
                    {
                        return(false);
                    }
                }
                ds.CDC_DETTAGLIO.AddCDC_DETTAGLIORow(dettaglio);
            }

            return(true);
        }